{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7201b785-fdf2-4ea0-bc24-e5dcc1b1efc2",
   "metadata": {},
   "source": [
    "# 普通线性回归 \n",
    "## 例子：波士顿房价预测\n",
    "\n",
    "我们有一个简单的数据集，包含：\n",
    "- 房屋面积（平方米） → X\n",
    "- 房价（万元） → y\n",
    "\n",
    "| **面积（㎡）** | **房价（万元）** |\n",
    "| --------- | ---------- |\n",
    "| 50        | 120        |\n",
    "| 60        | 140        |\n",
    "| 80        | 170        |\n",
    "| 100       | 200        |\n",
    "| 120       | 230        |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2a302acc-9c66-430d-9058-5f861c974d47",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "x = np.array([50, 60, 80, 100, 120])\n",
    "y = np.array([120, 140, 170, 200, 230])\n",
    "ax = plt.subplot()\n",
    "ax.scatter(x, y)\n",
    "plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "964de843-cba8-4cce-81d1-a0b40dd91294",
   "metadata": {},
   "source": [
    "## 假设一条任意直线\n",
    "$y=ax+b$ <br>\n",
    "应该如何选择a和b，使得这条直线最“贴合”图中的点分布？\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "87c373b2-eb2f-4c9a-8411-43cbaca95155",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1.   2.25 3.5  4.75 6.  ]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "x = np.array([50, 60, 80, 100, 120])\n",
    "y = np.array([120, 140, 170, 200, 230])\n",
    "a= np.linspace(1,6,len(x))\n",
    "print(a)\n",
    "b=0\n",
    "\n",
    "fig, axs = plt.subplots(2,3)\n",
    "for i,ax in enumerate(axs.flat):\n",
    "    if i < len(a):\n",
    "        ax.scatter(x,y)\n",
    "        \n",
    "        ax.plot(x,x*a[i]+b,c=\"g\")\n",
    "        ax.set_xlim(0,150)\n",
    "        ax.set_title(i+1)\n",
    "        ax.set_ylim(0,600)\n",
    "axs[1,2].set_visible(False)\n",
    "plt.subplots_adjust(hspace=0.5,wspace=0.8)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2ff33ca0-3bde-4e26-b835-7f8050112556",
   "metadata": {},
   "source": [
    "通过观察，我们应该选择2中的直线，$y=2.25x$ <br>\n",
    "但是这是通过观察得知的，我们应该如何计算得出a和b呢？"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "adede25e-4c0a-478e-b8cc-40a01666c2e3",
   "metadata": {},
   "source": [
    "### MSE\n",
    "MSE 是衡量模型预测误差的一种方法。公式为：\n",
    "\n",
    "$\\text{MSE} = \\frac{1}{n} \\sum_{i=1}^{n} (\\hat{y}_i - y_i)^2$ <br>\n",
    "也叫损失函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "dbaa145d-5b04-4544-99e0-cbb4539917d1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSE: 2.4147706227076173\n"
     ]
    },
    {
     "data": {
      "image/png": "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/1vkRJrbbrvNY+clN4eV9x9++CHaMa5xeOihh+BJCrhuxNmp1apVQ+/evXHp0iWzSKJjx44YMmSIO09DUogVwE8//dSMs3GdiCEi7sFB8+yj5oV9m6wWdejQwWz4IN6PbybZN82FZhcvXjQjNDkXt2rVqubfSfG9TzNnzJiBRYsWmQIeW1BmzZpl2vc8SQHXzbipw5kzZ8y71MqVK6Nx48bmL4f4zjiUdu3amX9QuRNdhgwZoi78qFtE3IM7CN55550oW7Ys6tWrZ/pvWTAQ78fCAEPQ/PnzzWgwrmHImzcvZs6c6elTk5vA13D27NkYOHCgGXvKTzhZAOJr6kna6EFERERE/IoquCIiIiLiVxRwRURERMSvKOCKiIiIiF9RwBURERERv6KAKyIiIiJ+RQFXRERERPyKAq6IiIiI+BUFXBERERHxKwq4IiIiIuJXFHBFRERExK8o4IqIiIiIX1HAFRHxI59//jlq1KiByMhIc3vr1q0oVKgQTp8+7elTExFxGwVcERE/0rx5c2TNmhWTJ082IbdDhw4YP348cufO7elTExFxmwzu+1EiIuIOH3zwAapUqYJDhw6ZYPvcc8/piReRgKKAKyLiZ+644w707t0bgwcPxt69ez19OiIibqcWBRERP7R8+XKEhoZi2bJlnj4VERG3U8AVEfEzs2bNwokTJ0y4HTBgAE6ePOnpUxIRcat0DofD4d4fKSIiaeXMmTO45557sHDhQpQvXx7Dhg3D7t278cUXX+hJF5GAoQquiIgfefnll9GmTRsTbmnIkCHYvHkzFixY4OlTExFxG1VwRURERMSvqIIrIiIiIn5FAVdERERE/IoCroiIiIj4FQVcEREREfErCrgiIiIi4lcUcEVERETEryjgioiIiIhfUcAVEREREb+igCsiIiIifkUBV0RERET8igKuiIiIiMCf/D/uMJFNckbTHAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 生成模拟数据\n",
    "np.random.seed(0)\n",
    "x = np.linspace(0, 10, 20)\n",
    "y = 2 * x + 1 + np.random.normal(0, 2, size=x.shape)  # y = 2x + 1 + 噪声\n",
    "plt.rcParams[\"font.sans-serif\"] = [\"STHeiti\"]\n",
    "\n",
    "# 简单线性回归拟合\n",
    "w, b = np.polyfit(x, y, 1)  # 返回斜率和截距\n",
    "y_pred = w * x + b\n",
    "\n",
    "# 计算MSE\n",
    "mse = np.mean((y_pred - y)**2)\n",
    "print(\"MSE:\", mse)\n",
    "\n",
    "# 画图\n",
    "plt.figure(figsize=(8,5))\n",
    "plt.scatter(x, y, color='blue', label='真实数据')\n",
    "plt.plot(x, y_pred, color='red', label='回归直线')\n",
    "for i in range(len(x)):\n",
    "    plt.plot([x[i], x[i]], [y[i], y_pred[i]], color='green', linestyle='--', alpha=0.5)  # 误差线\n",
    "plt.title(f'线性回归示意图 (MSE={mse:.2f})')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a126536c-b6c8-4378-8af8-d60936e1fcd9",
   "metadata": {},
   "source": [
    "现在我们要让损失变为最小，这个问题就转变为，求a,b,使得$\\text{MSE} = \\frac{1}{n} \\sum_{i=1}^{n} (\\hat{y}_i - y_i)^2=\\frac{1}{n} \\sum_{i=1}^{n} (ax_i+b - y_i)^2$最小<br>\n",
    "有两种方法\n",
    "- 传统解析法\n",
    "- 梯度下降法 <br>\n",
    "我们以前学过，\n",
    "如果函数 f(x) 可导，那么当 f’(x) = 0 时：\n",
    "- x 可能是 局部极值点（极大值或极小值）\n",
    "- 也可能是 拐点（函数斜率为 0，但既不是最大也不是最小）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "51d31c5b-075e-4cc4-a6ac-a6391d39169b",
   "metadata": {},
   "source": [
    "### 解析法"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f4287a46-7186-4459-a2da-0accec4c7d7f",
   "metadata": {},
   "source": [
    "所以，\n",
    "令 $\\theta=\\frac{1}{n} \\sum_{i=1}^{n} (ax_i+b - y_i)^2$ <br>\n",
    "求\n",
    "$\\frac{\\partial \\theta}{\\partial a} = 0$ 和 $\\frac{\\partial \\theta}{\\partial b} = 0$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5a12c989-374f-4b65-b525-7b14e74d026c",
   "metadata": {},
   "source": [
    "$a\\sum{x_i}^2+b\\sum{x_i}=\\sum{x_iy_i}$...     (1)<br>\n",
    "$a\\sum{x_i}+b\\sum(1)=\\sum{y_i}$   ...         (2)<br>\n",
    "详细推导过程见mse.jpg"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6691a20c-3fda-449a-88c7-ee9e9b51b65d",
   "metadata": {},
   "source": [
    "假设原来有3个点（0，1），（2，0），（3，4）<br>\n",
    "\n",
    "$\\sum{x_i}^2=0^2+2^2+3^2=13$ <br>\n",
    "$\\sum{x_i}=0+2+3=5$ <br>\n",
    "$\\sum{y_i}^2=1^2+0^2+4^2=17$ <br>\n",
    "$\\sum{y_i}=1+0+4=5$ <br>\n",
    "$\\sum{x_iy_i}=0*1+2*0+3*4=12$ <br>\n",
    "代进(1)(2)去<br>\n",
    "$13a+5b=12$<br>\n",
    "$5a+3b=5$<br>\n",
    "解得$a = \\frac{11}{14}, b = \\frac{5}{14}$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "4bcd676a-6e87-4e7a-8884-ecfe220fb839",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "140 [261.82926829]\n",
      "拟合斜率 w: 1.5487804878048774\n",
      "拟合截距 b: 45.00000000000006\n"
     ]
    },
    {
     "data": {
      "image/png": "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fv102223eb+XhduYi79sMoK1TGTLli0R7wgAADir9etdkP3mG3d87bVa/tgQ1X+uvs4nxhKbgCHQJrKEflGT4otvFU0bm2VslqtNPYjJqrEWaC0wWtXVFnmtWLHC63u1PlSrstrvYR9nVVubfGBTC+y51sdi1Vl37Tm9ObRdu3b1Wg6effZZr13AgqqpUaOGN8LLRojF7HmpV6+ennjiCa+Sa6y9waYnfP311+rWrZvXamBskdrGjRujZ+UCAIAkcvSo1K+f1Lu3+3Xq1FLXrlLPnroxbXrlHilvAVh8rZT+Hlqb4hRoBNpEZl9U++IG4otvFVlrK7BgatMKPj+99NCqn1bxtJYBq6Ja2LWQaovArJrqZwHTphnky5dP9957r0qWLKlmzZrpueeeU/HixeP5s0Tpu+++8yq0FnBtEwdjbQQ2/cDGc1lA9s+TtapxTLYb2R133OGF6apVq2ry5MnRExSsBQIAACSh77+X2raV1q1zxzVqSMOGSadnxds6LxvNZQvdLb/EzDX+F1Ztn6RgmEfLorBEZl9U++KbGK+iJ8sXf9WqVVq3bp1X8bQxWNYP+9NPP3lVWJsoYEHXJhPYFAObTWth1sLjmDFjvDFadmwLx6ZOner92npdbUqBjQB7/vnno3chszC8efNmb1qBhWibmmAVWts5rG/fvt50BavaWkXYFoVZT21MViG24Rr2ea0SDAAAktGWLdI990i1a7sway8bf/yxNG1adJj1s6lMNp0pV67Yv4UV55J6atOFINAmgUB98Xfv3u0FTAua9rL9jBkzvHEXZujQod7ILtvty17at5f0/eO1LORaldSCrk0u8I/Bsi1tbWFZz549vZDrn/BmAdZ6Y63lwCqxtmOYVXFtIZctRvO3EFggtrYF/7SEvXv3eovGLESvXLnSqxbbzFkLyD/88IM36cDeypYt6/1etiANAAAkkuPHpf79XWi1QGLVtc6dpTVrpPvuO7MSd5rllv/9T5o5U/roI/feRnUFS5g1zKFNgjm0gdopzNj0AWsVsJf7z8ZaC2xCgbvGk17QjLt7WFwxdxGL79hYn+355sT99ddfuuaaa86Yj2vV35gbN5wPc2gBALgAs2dLbdpIK1e641tukWyheDwthcHiQubQ0kObhCzvJeVorvhYVfV8/GHW+PtqzydueI17bM73zWbihllji838C84A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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn.linear_model import LinearRegression,SGDRegressor\n",
    "x = np.array([50, 60, 80, 100, 120]).reshape([-1,1])\n",
    "y = np.array([120, 140, 170, 200, 230])\n",
    "plt.rcParams[\"font.sans-serif\"] = [\"STHeiti\"]\n",
    "model = LinearRegression()\n",
    "\n",
    "model.fit(x, y)#拟合\n",
    "# -------------------------\n",
    "# 预测\n",
    "y_pred = model.predict(x)\n",
    "\n",
    "# -------------------------\n",
    "# 输出结果\n",
    "print(\"140\", model.predict([[140]]))\n",
    "print(\"拟合斜率 w:\", model.coef_[0])\n",
    "print(\"拟合截距 b:\", model.intercept_)\n",
    "\n",
    "# -------------------------\n",
    "# 画图\n",
    "plt.figure(figsize=(8,5))\n",
    "plt.scatter(x, y, color='blue', label='真实数据')\n",
    "plt.plot(x, y_pred, color='red', label='拟合直线')\n",
    "plt.title(\"线性回归示例\")\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"y\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "241c2b48-d3e9-4680-ac37-4d22cc69a501",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "130 预测： [248.94736842]\n",
      "拟合斜率 w: 1.6052631578947367\n",
      "拟合截距 b: 40.26315789473685\n",
      "测试集 R² score: 0.9950412092609692\n",
      "测试集 MSE: 10.041551246537429\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArQAAAHWCAYAAACG6hoWAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcUZJREFUeJzt3Qd4U3UbBfBTpoCAigLKENnIEAQZspeg7CkgiiACyt4bEWTJXrJEGQqigCBDEBnKkCmypyBL9t5Qer/n/K+3X1pSaKFtkub8nqeW3CTN7U2Qkzfvff8BlmVZEBERERHxUbE8vQMiIiIiIo9DgVZEREREfJoCrYiIiIj4NAVaEREREfFpCrQiIiIi4tMUaEVERETEpynQioiIiIhPU6AVEREREZ+mQCsiEgOdOnUKFy5c8PRuiIhECwVaET929epV3Lx5M8S269ev49y5c7h79+5j/ewff/wRCxYsQHSFt9deew3t27eHJ5w+fTraHqt79+7Ytm3bA29z79491KhRA8mSJcPgwYPD/bPD+5wHBQWF+bjr1693e92xY8ewadMmPOrilJs3b8a1a9fCffuGDRti8uTJEXqM2bNnY8KECeb1/zChf48zZ86E6zF++OEHTJ8+PUL7JSIPp0Ar4scmTZqEtGnTYunSpcHb/vjjDzz33HOYNm0arly5YkKBuxDC27355puYMmWK2589dOhQTJ06NczHvnTpkqkgMlAHBgbe9xi8zO23bt3C5cuXcfz48TDDUOLEiU3gSZAgAfbs2YMDBw7g33//xdmzZ004OXnypNnmLgj++eef6Nu3rwl+I0aMwJgxY0J8cRuv42127drl9vFr1qyJ7NmzY+3atdi6dSt2795t9oOPt3fv3uDb8fosWbJgy5YteBQLFy40bxRy5sz5wNt16tTJ/F58frnva9aseejP/v7775EyZUrs2LHDXObzUqxYMfMznDc/zvFv3bq1ed3wOXQ1b948FCpUyG1gW758OfLnzx/ugP31118jQ4YMwUH53XffRY4cOfDLL7/grbfeQq1atVC/fn3Uq1cP1apVQ5s2bUK8jvgchH698M1A3bp1w3xMvl67du2KWLFimcdguHWHb/oyZcpkXhu0YsUKczyGDRv20N+rQIEC5vgdPXo0XMdBRMLJEhG/lTNnTqt+/fohtv3+++9MAdauXbusBQsWmD8PHTr0vvv+9ttvwbdztGvXzqpSpYp17do1q3jx4tY777wT5mMPGjTI3D+8X3HjxrWCgoKC779ixQqrQYMG1tatW607d+6Y2wwbNswqV65cmD+jSJEi9+3H119/ba6LFy+elTBhQitx4sRW0qRJrSRJkpg/cxsfm7f54Ycf7rs/H5u3qV27ttmf0I/59ttvB9928+bNZtvhw4etiLp796710ksvWVOnTn3g7Xr27Gl+l3nz5pnL06dPt+LHj28NGTLEunfvXpj3u3LlivXiiy9a2bJls65evWq2xYkTxxo+fLj5c/bs2YN/l27dulkZMmS472cULFjQqlOnTojXyJYtW8xrpEaNGlbatGnNn3fu3Gm2r1y50rpx44bb/SldurTVo0eP4MsXL160KlasaH6fZMmSmddW9+7dzVfRokXNdRMnTrSeffZZ83sWK1bMmjRp0n3Hhsc/9HbHu+++a/aRypYta7388sshXnOOfv36WU899ZR19OhRc5m3admypfXtt9+ay3x8Pl/Xr1+3bt++fd/9GzZsGOI4icjjixPe4CsiMcvixYvNR+WsQrLilChRIrM9Xrx45nvChAlRsWJF9OnTB3nz5sXBgweRMWPGEFVR53as5CZJksRUJdOlSxf8s1ghY6WPVVZ+XJwmTZrg+z/11FPmO+/zMNzHmTNnIiAgIHgbq7asqPXo0QOxY8c22+LHj2/2l1W2J554wmxntY33+/DDD4P3yxUrf++995653cM+ZndXIf71119x48YNdOzY0fzupUqVQqNGjUwbBH8mP8bn/rDqzeseFSuo/J3ffvttt9ffuXMHzZs3x4wZM0wVl/vC27KyPH78ePP7s3L6ySefoHLlysHHzPX5/OKLL0wllpVu57XAY0pJkyZF6tSpzZ/jxo173+PPnz/fVMWXLFmCv//+2zzvb7zxhvn9efvbt2/jySefNBVcVlxZTeU+Hzp0yOyrK/6clStXmufd9fXy008/meeSx/P9999Hrly5zOsvTpw4piL77LPPmufYec5D4+/ONpjvvvsOtWvXNvvI34/PK/eJrxnu5/79+9GiRQvzc1ix5uM4/vrrL/Ma4/FimwvxvvwkgD+XlWK+VvjF32/ixImmiuyKz0XhwoXRq1cvZMuWLRzPvog8jAKtiB/iP7b8x33AgAEmqDDgMJQxNDkBhi0FDED8mPzzzz83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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#测试训练区分\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import mean_squared_error\n",
    "plt.rcParams[\"font.sans-serif\"] = [\"STHeiti\"]\n",
    "# 数据\n",
    "x = np.array([50, 60, 80, 100, 120]).reshape([-1,1])\n",
    "y = np.array([120, 140, 170, 200, 230])\n",
    "\n",
    "# -------------------------\n",
    "# 划分训练集/测试集\n",
    "x_train, x_test, y_train, y_test = train_test_split(\n",
    "    x, y, test_size=0.3, random_state=42\n",
    ")\n",
    "\n",
    "# -------------------------\n",
    "# 模型\n",
    "model = LinearRegression()\n",
    "model.fit(x_train, y_train)\n",
    "\n",
    "# -------------------------\n",
    "# 预测\n",
    "y_pred = model.predict(x_test)\n",
    "test_score = model.score(x_test, y_test)   # R² 测试集评分\n",
    "mse = mean_squared_error(y_pred, y_test)\n",
    "\n",
    "# -------------------------\n",
    "# 输出结果\n",
    "print(\"130 预测：\", model.predict([[130]]))\n",
    "print(\"拟合斜率 w:\", model.coef_[0])\n",
    "print(\"拟合截距 b:\", model.intercept_)\n",
    "print(\"测试集 R² score:\", test_score)\n",
    "print(\"测试集 MSE:\", mse)\n",
    "# -------------------------\n",
    "# 画图\n",
    "plt.figure(figsize=(8,5))\n",
    "plt.scatter(x, y, color='blue', label='真实数据')\n",
    "\n",
    "# 整体的拟合线（使用全部 x 的预测）\n",
    "plt.plot(x, y, color='red', label='拟合直线')\n",
    "\n",
    "# 将测试点单独标记（绿色）\n",
    "plt.scatter(x_test, y_test, color='green', s=80, label='测试数据')\n",
    "\n",
    "plt.title(\"线性回归示例（含训练/测试集）\")\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"y\")\n",
    "plt.legend()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "338110da-3f25-4691-8818-6495e653a2e5",
   "metadata": {},
   "source": [
    "### 梯度下降法\n",
    "\n",
    "参考：https://blog.csdn.net/qq_41800366/article/details/86583789"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b89e899c-32cf-4358-a624-c5fb6a4c4ce7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.14721733]\n",
      " [ 1.29031656]\n",
      " [-0.85732443]\n",
      " [-0.30309449]\n",
      " [ 0.63216852]\n",
      " [-1.23835751]\n",
      " [-0.37237324]\n",
      " [ 1.56743153]\n",
      " [-1.44619373]\n",
      " [ 0.73608663]\n",
      " [-1.37691499]\n",
      " [-0.12989764]\n",
      " [ 1.18639845]\n",
      " [-0.78804569]\n",
      " [ 1.46351342]\n",
      " [-1.58475122]\n",
      " [ 0.52825041]\n",
      " [ 0.49361103]\n",
      " [-0.54557009]\n",
      " [-1.20371814]\n",
      " [-0.0606189 ]\n",
      " [-0.58020946]\n",
      " [-1.51547247]\n",
      " [ 1.53279216]\n",
      " [-0.82268506]\n",
      " [-1.09980002]\n",
      " [ 1.04784097]\n",
      " [-0.8919638 ]\n",
      " [ 0.38969292]\n",
      " [-1.30763625]\n",
      " [-0.92660317]\n",
      " [-1.65402996]\n",
      " [-1.16907877]\n",
      " [-0.44165198]\n",
      " [-1.4808331 ]\n",
      " [ 0.94392285]\n",
      " [-1.55011184]\n",
      " [ 0.45897166]\n",
      " [-0.51093072]\n",
      " [ 1.32495593]\n",
      " [ 0.1818567 ]\n",
      " [ 1.67134964]\n",
      " [ 0.11257796]\n",
      " [-0.26845512]\n",
      " [-0.02597953]\n",
      " [ 0.56288978]\n",
      " [-0.16453701]\n",
      " [ 0.59752915]\n",
      " [ 0.35505355]\n",
      " [ 1.6020709 ]\n",
      " [ 0.97856223]\n",
      " [-0.33773387]\n",
      " [ 0.25113544]\n",
      " [-0.09525827]\n",
      " [ 1.63671027]\n",
      " [ 0.21649607]\n",
      " [ 0.84000474]\n",
      " [-0.6494882 ]\n",
      " [ 1.49815279]\n",
      " [ 0.28577481]\n",
      " [ 0.42433229]\n",
      " [ 1.15175908]\n",
      " [-0.47629135]\n",
      " [-0.75340632]\n",
      " [-1.7233087 ]\n",
      " [ 0.04329921]\n",
      " [-1.03052128]\n",
      " [-1.68866933]\n",
      " [-0.96124254]\n",
      " [ 1.25567719]\n",
      " [ 1.39423468]\n",
      " [ 0.80536537]\n",
      " [ 1.22103782]\n",
      " [ 1.08248034]\n",
      " [-1.06516065]\n",
      " [ 0.32041418]\n",
      " [ 0.70144726]\n",
      " [-1.27299688]\n",
      " [ 1.42887405]\n",
      " [ 0.00865984]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.linear_model import SGDRegressor\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.metrics import mean_squared_error, r2_score\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 1. 生成模拟数据（线性关系 + 噪声）\n",
    "np.random.seed(42)\n",
    "X = np.linspace(0, 10, 100).reshape(-1, 1)\n",
    "y = 3 * X.flatten() + 5 + np.random.normal(0, 3, size=X.shape[0])\n",
    "\n",
    "# 2. 拆分训练集 / 测试集\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
    "\n",
    "# 3. 特征标准化（SGD 对 feature scale 比较敏感）\n",
    "scaler = StandardScaler() #z-score\n",
    "X_train_scaled = scaler.fit_transform(X_train)\n",
    "X_test_scaled = scaler.transform(X_test)\n",
    "\n",
    "\n",
    "# 4. 创建 SGDRegressor 模型\n",
    "sgd = SGDRegressor(\n",
    "    loss='squared_error',  # 均方误差\n",
    "    penalty='l2',          # L2 正则化\n",
    "    alpha=0.0001,          # 正则化强度\n",
    "    learning_rate='invscaling',  # 学习率策略\n",
    "    eta0=0.01,             # 初始学习率\n",
    "    max_iter=1000,\n",
    "    tol=1e-3,\n",
    "    random_state=42\n",
    ")\n",
    "\n",
    "# 5. 训练模型\n",
    "\n",
    "sgd.fit(X_train_scaled, y_train)\n",
    "\n",
    "# 6. 预测\n",
    "y_pred_train = sgd.predict(X_train_scaled)\n",
    "y_pred_test = sgd.predict(X_test_scaled)\n",
    "\n",
    "\n",
    "# 8. 可视化\n",
    "plt.figure(figsize=(8,5))\n",
    "# 把 X_train_scaled 反标准化回来画图\n",
    "X_train_orig = scaler.inverse_transform(X_train_scaled)\n",
    "X_test_orig = scaler.inverse_transform(X_test_scaled)\n",
    "\n",
    "plt.scatter(X_train_orig, y_train, color='blue', label='训练数据')\n",
    "plt.scatter(X_test_orig, y_test, color='orange', label='测试数据')\n",
    "\n",
    "# 画回归线：用原始空间画\n",
    "# 回归线对应的是 y = coef * (标准化后的 x) + intercept\n",
    "# 所以要把 x 还原，然后算 y\n",
    "xs = np.linspace(0, 10, 100).reshape(-1, 1)\n",
    "xs_scaled = scaler.transform(xs)\n",
    "ys = sgd.predict(xs_scaled)\n",
    "\n",
    "plt.plot(xs, ys, color='red', label='SGD 回归线')\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"y\")\n",
    "plt.legend()\n",
    "plt.title(\"SGDRegressor 线性回归示例\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "22271cb9-9119-4141-9c6c-4a516a2552ca",
   "metadata": {},
   "source": [
    "假设我们有以下三维特征影响房价：\n",
    "\t1.\t房屋面积（平方米）size\n",
    "\t2.\t卧室数量 bedrooms\n",
    "\t3.\t离市中心的距离（公里）distance\n",
    "\n",
    "房价 price 为目标变量。我们希望建立一个线性回归模型："
   ]
  },
  {
   "cell_type": "markdown",
   "id": "81045b4b-9fe1-4179-bbc8-181812429b1a",
   "metadata": {},
   "source": [
    "$\\text{price} = w_1 \\cdot \\text{size} + w_2 \\cdot \\text{bedrooms} + w_3 \\cdot \\text{distance} + b$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "edbc5bec-ed56-4540-8ef6-19660590f3f1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>size</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>distance</th>\n",
       "      <th>price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>106.181018</td>\n",
       "      <td>1</td>\n",
       "      <td>14.969106</td>\n",
       "      <td>260576.987328</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>192.607146</td>\n",
       "      <td>4</td>\n",
       "      <td>4.972361</td>\n",
       "      <td>867894.120752</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>159.799091</td>\n",
       "      <td>5</td>\n",
       "      <td>11.287512</td>\n",
       "      <td>646815.663923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>139.798773</td>\n",
       "      <td>4</td>\n",
       "      <td>14.219904</td>\n",
       "      <td>651025.532924</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>73.402796</td>\n",
       "      <td>5</td>\n",
       "      <td>5.342450</td>\n",
       "      <td>467015.173188</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         size  bedrooms   distance          price\n",
       "0  106.181018         1  14.969106  260576.987328\n",
       "1  192.607146         4   4.972361  867894.120752\n",
       "2  159.799091         5  11.287512  646815.663923\n",
       "3  139.798773         4  14.219904  651025.532924\n",
       "4   73.402796         5   5.342450  467015.173188"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "np.random.seed(42)\n",
    "\n",
    "# 样本数量\n",
    "n_samples = 100\n",
    "\n",
    "# 特征\n",
    "size = np.random.uniform(50, 200, n_samples)        # 房屋面积 50-200 平方米\n",
    "bedrooms = np.random.randint(1, 6, n_samples)      # 卧室数量 1-5\n",
    "distance = np.random.uniform(1, 20, n_samples)     # 离市中心距离 1-20 km\n",
    "\n",
    "# 房价生成（假设真实权重）\n",
    "price = 3000*size + 50000*bedrooms - 2000*distance + np.random.normal(0, 50000, n_samples)\n",
    "\n",
    "# 构建 DataFrame\n",
    "data = pd.DataFrame({\n",
    "    'size': size,\n",
    "    'bedrooms': bedrooms,\n",
    "    'distance': distance,\n",
    "    'price': price\n",
    "})\n",
    "\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "0244f4ca-0955-4cba-b0cf-9461e2da73d3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "       size  bedrooms  distance\n",
      "0 -0.323112         1  0.768104\n",
      "1  1.623434         4 -1.074564\n",
      "2  0.884509         5  0.089488\n",
      "3  0.434049         4  0.630006\n",
      "4 -1.061365         5 -1.006346\n",
      "回归系数: [134999.50574194  48729.69200902  -4438.58703305]\n",
      "截距: 343379.7446989041\n",
      "测试集 MSE: 3162801436.8020797\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.preprocessing import StandardScaler,MinMaxScaler\n",
    "scaler = StandardScaler()\n",
    "#scaler = MinMaxScaler()\n",
    "data[['size', 'distance']] = scaler.fit_transform(data[['size', 'distance']])\n",
    "# 特征与目标\n",
    "X = data[['size', 'bedrooms', 'distance']]\n",
    "print(X.head())\n",
    "y = data['price']\n",
    "\n",
    "# 划分训练集和测试集\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
    "\n",
    "# 建立模型\n",
    "model = LinearRegression()\n",
    "model.fit(X_train, y_train)\n",
    "\n",
    "# 查看系数\n",
    "print(\"回归系数:\", model.coef_)\n",
    "print(\"截距:\", model.intercept_)\n",
    "\n",
    "\n",
    "y_pred = model.predict(X_test)\n",
    "mse = mean_squared_error(y_test, y_pred)\n",
    "print(\"测试集 MSE:\", mse)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "4b998366-e73b-4011-84f0-b0f9849038af",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaYAAAGNCAYAAABaGtX2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAA/7JJREFUeJzsvQeYZWlV7v+eXDl2zmFyHoYZhpxkkKQDKAiKgFkwZ6+i6L0oIt6rElT8E+5FEAUEFCQzMEMaJjAzTE49nUOFrlx18v/5fVWretfuE/YJdep09148h66pU+fs9H3rXfFdkWKxWFQooYQSSiihtIlE1/oEQgkllFBCCcUrITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhICUyihhBJKKG0lITCFEkoooYTSVhJf6xMI5dySYrGoQqGgdDqtWCy2/IpEImt9aqGEEkqbSAhMobQUlLLZrPL5vBYWFpbBKBqNKh6Pu1cIVKGEEkqkiLYIJZRVFrwkAyWEnwEmlp95UQi/A6gSiYQDKcCK/w49qlBCOXckBKZQVlUAHcAol8s58AFkzHPyg42BVDmgMo8qBKpQQjm7JQSmUFoSunOLbclDevTRR3X48GH19fVpcHDQvbq6ugIDFS8AKpVKhUAVSihnoYTAFMqqCECSyWSWvSTAhLzS3Xff7X6/a9cuzc3NaWJiQpOTk84bGhgYWAaqzs7OskA1NjbmwO3JT37yMkh5c1ShRxVKKGe2hMUPoTRVAA7Cdrz42UDixIkT+sEPfqCNGzfq6quvdoBl3g8/T01N6eTJkzp+/LgefvhhJZPJkkBlQMS/AJG3yg/g43j+YooQqEIJ5cyS0GMKpWkCQABI3tAdv3vooYd05MgRXXrppdq8efOyN2VA4xc+jxeFNwVYAVqE7Qyo+My+ffv01Kc+dcXn/GE/O4cQqEIJ5cySEJhCaVgMDMgn8bMBzszMjAvdAQxXXnmlyyMh1YCpFFAZSPEvQMXnADkDK4Cr1HnZuXnPyx/6C3oeoYQSSmskBKZQmha6cwtqScHjId1///3asWOHzj//fAdOJrUCk19GR0f1wAMPaNOmTQ6opqenHehZ2A+wIhRY6lxDoAollPaXMMcUSt0CwAAMjz/+uAvTAT4A1H333ecKFK666iqtX7/+tM816p1YEy6Ah+CpmUdFiG92dlbd3d0rgIpycwNCA0kDKs7ZytfNo7I+KstRhRJKKK2TEJhCaag3iaKDkZERp7zJCxG6o1DhaU97mjo6Osp+RyPgZGXnJoAIAGggiDdmQPXYY4+56r+enp4VQEUYrxpQzc/PO29s27ZtK1gpQqAKJZTVlRCYQmmoNwlFjeeEp0IJ9549e9xrNXM21b6bMN6GDRvcCwE8DageeeQRV73X29u7nJ/iX2+uyYCHv6ffikpCwK4cfVIIVKGE0lwJgSmUhnqTAChe+/fvd31FKPpWSC1MWhRGAC68EIDJCimoGAS4rNkXkOrv719BLAsI+Ys8vDmyEKhCCaW5EgJTKIFDd1Z1Z6BEHonQHb97+tOf7kJqrZBGvTFCjFT08UII2QFUvI4ePepAB3DC8+K6vUAMYJl4gYqXnZsXqCxkGEoooQSXEJhCqSl0Z1x3hO2eeOIJ7d692+VxWgVK3vNqlpAT47Vlyxb3vQZUx44dc97VzTff7IDKclSEAasBlXlU/J2/mCIEqlBCqSwhMIVSVsxL8noMKG28JAoErr/+eqdoAaazRbhGSs954TFRcXjZZZcte1QHDx5098MPVN6KPpMQqEIJpT4JgSmUqr1JBkrQBd17770uV3PxxRc7JQxQWTVbqzyBVnocHIvSc15U53GdlKMbUJFb43de+iQqAP1AZR5eKY8qnEUVSigrJQSmUFaIKU6j9UFx4jkZrRDeA42tJmsVllqrMWJcL8DDa/v27e48KCn39lHxN1ZIwb+Amt2nUkAFSH33u99195b8VwhUoZzrEgJTKKeFnbyhO2iF7rrrLqdQ6U0yWiETbw/Q2egxBTkXKvp4wXLBvQOoACmKQwhzcu+8PVTeER+8x73jPlt/FlWClcrT2+n6QwllNSQEplBKFjgghw4dctQ/pWiFTExJGpi1Stp18DL3gPwTL8TPnE4fFSDjBSprRLZCCQMre/mBKpzuG8rZLiEwneOC4mQkxfj4+HJjLCAFrRC/Y0TFunXryn7egKmVQHEmeQwACeDDiwpGwN+AitJ0QqTG68dzgL0CoPLyCPqBikpBJJzuG8rZKiEwnaPipRUimQ+t0N69e12uhKo7wk30JpVi7W4GMAF+jfT4tKvHVE28YT2EZwBI3XPPPa48nTJ87rn9jTGnh0AVyrkkITCdg1KNVui8885zE2aDgEatwMRxGARIDxQhKTyJoaGhslNrKx3zbBADKoTRIMY5aKXpMLRjJHir/vCwggJVON03lDNRQmA6x6RUbxK/w2s6cOCArr32WqcEg0otwOTtgbruuuvcv/6ptV5PoRIJ7JnqMVUSY40YHh52Ly9zOi9K0wmxGnO6gZWXOd0PVDxnAyrLAXIM7nU43TeUdpUQmM7x3iRmGz344IPuZ6ruamVwCApM3tHqF1100fLwPm/uxTwFiFM5J4DJC1SWizmbPKZq4mdOB6iM5w8Pl76ySszpfqDCCKCohZEk4Rj6UNpVQmA6R0eeo6TwUvCSaBwlx1QvrZB/DIX/2ByHsBQzm4z2xzv+3JQnIT1eCOdrvUHmKZgCxmM4mzwmu5YggMsz8jKnU61nzb6EYRnxAROFARXVgV6g8jb1Wp6RF5V/3tCfl+fvXDIEQmkPCYHpHBx5jvIipIZCeupTn7o8U6leKQdMdhzOAW8MQAkqKEWqAa0i0KuAyU8ht99++woF7KUDOlcEL9LLnM6ztPtkzOleoOKZ+0Gq2tDEcAx9KK2WEJjOkQIHUzRUfhH+gVmbkBqKx0ZZNBOYCBkRuvMep1kKmJzJt7/9bed94VVRIIBCtdEVeF1GtHq2eUzVhAo+mDmMnYO8nnme9KQBVAANHIDcK+5ZqVlU4XTfUNZSQmA6C8W8JEDJW+BA3obeGT+tkDGGNwOYODaWOnkiQnc2WqKZYgqc7/YygtN3hQImh8J5lOKvO9fEmNO5V9wnvE2MBu4XFFMAOt6m3SuAytZMEKAKZ1GFshoSAtNZ2pvkrbqDIoeQGkqE3iQUVdAcURDh8xyP0B30RUgp+qJmizc8aYzgRrQKxY+FtCgSsEZXAyovLdDZ5DFVEr6fHBXPH6OB4/LMrJgCQGf9WEOwf8RHKaAyQloknO4bSrMkBKaznFaIogM8pZ07d7r+pFLhLX7XSCiPz1PdBwDgwRC6CxJGq5dfr9pneB+FysvPX0d1IEUCKOigpelnk3jveSXmdICKwphKzOmVgMq8dO69hQvDMfShBJUQmM4CYfMTokPBGJ2N0QqhZJ70pCct98WUkkY8JvPQyFlcfvnlK0KE7chfR+NwLaXpZ5PHZFLuOKWY0/2eJ3/jBSpjTi8FVBgrGEbQWtn3h9N9QwkiITCdJSPPSWzjqRCmwdolpIaCIXRXTclaKK5Wwbq2qrsrrrii5aBUL5gGKU03kLfeLxTq2SC1eKmlPE8DKpjTMUbKhUhLlaaXm+7rr/oLJZSzY7edg1KqN4nfoSwYtVALrVA9xQ94aCjwrVu3OmXTSg+j2cqrVGk6QEVxAFVst9xyy2m9Qc0sTW+lx8Qaqfc4rBMb8UFo2Bsipd2AECn30oDKmrmRcLpvKLVICExnSW8SwkgF3oPux8Yu1MreUE1pWXUfZed4STR6ErJZi4bX1TomIMt1cS8AKa7Twll4pvzORqs3ozS9lfeumXOz/CFS1h4hUkCdyj9+RjBgDNSt8CYoUIWzqM5NCYHpDKYVMlDCWiWshoJ48pOfXHPYyZQqiqGSJ0AYh9Adf0/VnVfJnM1jLwjpUW5tJdeUWhtQNas0vVXXtJoDHVkXdg+gmaJ4gmIT7p+N+DDmdLtfVnTiBSr/dF9jpQiB6tyREJjOwN4k26RG94MCsFLpenIhQfjuCGth+ZYaGthqYDJZi2N6S9MJY5YrEPAWUrRTaXqriywAIsapIBhUVnRiQygxbrw8fzbiAwmB6tyVEJjO0N4kL90PtEKE1+pV1KYIShVAcGwUCKEZxjIYR5v/82ezx1Rvabo372Jhv1Kl6a0cS9/KY/nzWX7m9FJFJ4C4F6hsxIcfqEpN9+W+W0VlOIb+zJYQmM6w3iQ2qRUe0DN04YUXLlcz1QsO3hJfr+AJUN1njbnlen1qPXaziEHbkci1VGk6E2thpShXmt5KaTUIVsq9+YtObMSHeZ6Ep23EhwFVpREfDFvEeLISdhtDbxV/tn9CaX8JgalNxeLrXi8JCxPFhvdCz5ARdzbaJFsqlIcShYOuUmOu9/PnqsdU68TaUl4C4SzuHx4Wf7eapelr6THVOuLDqiO5V1SaGnO65af8Iz44HqFAK08Px9CfuRICUxv3JpnFabRCeC+EKbyFB80CJtvYKE4ACSXJzB5TEtU+XwswcRxyDAhhnXpZF9rRY6qnNJ0KRxSvKV8jo12t0vRWkds2eiyrjrTwsZc5nQpUyHytjB+Q8u6XUh5VON33zJEQmM4AWiGKG6hoIjREIrnUZm8G3x2hO46DQqgUuvNLLaCIMiHkwr8oaYo3LAFODsbCNdXOtVWy2sfiXnPdkKtef/317r6UK033kqyejR5Trczp3ntFJAGB0d7WkYF60Om+/qq/MPS3dhICUxuPPOe/GVFBOKMarVAjHpNtVDwyynzLgV85CQqKsAVQsMF1EIo0L43rIwdDczB5BaxgKxQ41+YsrXZpejvlmJp5r9grNEIDWlT+GXO61/v0M6eXAiq8MsAqBKq1lRCY2qQ3CYsPJcMmY9OgiFDiKOkgtEL1AhPHJs/BeVx88cWusqxWqQZMvAfo8II2ibJ2qzT0h7YsXANQ4TGgcPzNrN7vPRuk3HWUKk03klXuTz2l6a32mFplVNjapyDICGn9oM6a83qffuZ0EwMq/3RfK6YIp/uuvoTA1Aa9STYywkJY5BpQ4vQLUXwQRJHUw3dH3ur73/++szw5di1sEf5jl1OuhKII3XF9T3nKU5zVipT7e2+4xj9niZAmYoUEfKe37+VMlqDP2EuyWqk03c+0cDZ6TKXChna8UqBuIz5sLRlzunfERyXmdDOmbK8BWFas4g8ZhtKYhMC0BuKlX7HQHS+U+G233eZCCbXSCvF5y00FOT4WJF6ahe6+8Y1vNFQ8UQpozOvjOui1qpY7KvW9/jlLKGKACkXMd+NJenuEAKozTRop8y9Vms59N6YFf2n6mZxjqnasapWj/hEf5FS9FZKIF6gqjfjAc8XgIi9o7wNO5lGFIz4akxCY2qQ3CeuL6iw8BfJJ9dAK8b3VBIuPvJV/HEYjxRP+z/IzG53KqVq8viDHMRJRwliAt4X+AFqqCb19L6tdet1Macb9CVKazt9g+AD2QQpNziSPqda8qDVG24gP8z5LMXhwr7wjPvh7A6Jy031DoKpfzoxdexaPPLdR5HgBgASEofVIkBwT1jQFDoR3KDn3ehf1hAJLAZMVbJCAvvbaa92GXi3huN7xFdagyb0kHEoY0MqJ+Rs8i1YpylpktXJlpUrTsfIRb1/QahWatNpjauRYXqOnHHO6H/jteOVCfwZUSDjdtzYJgWkNaYVsnpElbRtRCpWAieMTU6c0e8+ePe7l38T1jL7wAxPAR84KyxLgW81RGKWUkL9B01tOjLfA/bcwDcq4HrLV1ZJWnAfPw8rTCWfhbVr+brVK09vVY6qHOd3CpOWY021IZzmg8jKn8/Izp7ej0bRWEgLTGoXujBQVBQGtEBaZcX7VI+VCcd6S82uuuWbZuwj6+aDC91OwUQ74VkOqna+/9BoPwRQxfUM25M48BjzJtQCqtRp7gcdcrTQdxWz3p1Ygb7XHtJoVgLZWeJGXZf8ynZc1Y/k8y3d6gQopBVQWPTGPyg9U8SVGi3NVQmBqcW8SVjvWKeMAvKSoLMZ6Q2nlPCasOkJ3eDDVSs7rDeVZHgPru1qvlf94jUitn/cmv/0VbVjAeJM2ksE8qlbKWpO4VipNr5c1vdWFFq32OFgvGGG219kHvIwT0buevIU5ln+qNIsq4gGqc3G6bwhMLZibZKBEKMAqyfzMCo00yPo/7y0+oOIOC6/aoq4nlEdVE6E7NiWhyKCg1A6eRqmKNisUwBKmkILnw+8ZhGi8bKsh7TgosFRpOs/bKiKDlKa3Eixa6Z0hlic2AThKMafzsvVkzOkWTjZDMQhQ/eqv/qp+7Md+TDfeeKPOBQmBqQUjzxGAAqvcyrP9m6iR4gP7vIUNoWUBBBkaGJS9utbje0leOWar2RmarYT8ioVr4pkRpjFeNmMRwJtqNP/Sbh5TLWPVvdNqvaXp5iFY6O9MzjEFOV6lNV+JOd0qJEsxp5cDqvvvv99FJc4VCbNtTS5wwMLxDvNjQeJVEAohxwNTdynF0AyPiWN/61vfcudC8UEtIxWCekxcGzkrQhWQvF5wwQV1eVvNUMSr6WlYwzFeEz1Y9KuQiyEPA/BDf4P3S1EJIcFGzqUdPaag02oJZbGun/nMZ7pcKQoZxfvNb37ThQLJxeBhBWllOFNYJkp5TNXECnPYL7Q5POMZz3BGqrGisJ6+973vOSNodHR0OdqCWKEUQOYVvNYXv/jFbp1y7z/ykY8sv4ceYH/ixVIdy3d75X3ve59jeeE7X/7yl7twtgnP6td+7dfc88VQ+93f/d0V58MzfclLXuI8QJ7/hz70oRXfXe3YQST0mFahwMFixIQ9KM/FyqxWpdZIjonjs5gJtbBAsWjrycFUU5BsDnJW/tHqtTT3NktaHW/nWnkRsixFDWSK2ltIcTZ5TNXEPwSQ/XDrrbeeVpru9RCaXZreTh5TPczp5lE98sgjy60OeKKsJYwfLx0X6++Hf/iH9Qd/8Af65Cc/6QzFV7/61a4P8rLLLnNg84//+I962cteps997nP60R/9UWcg8/4XvvAF/cVf/IU++9nPuj5Dfubvv/3tb7vvfstb3uKiO3wn9/QNb3iD+91f/uVfuvdf+cpX6rnPfa4+8YlPOHAkvMj3cj4AXKVjB5UQmBoUiwVjIV5yySVOMbH5eWAoLCwkLJMgOZ56gAkvCQuesAoWDFZYPVItlEfzL54SiXHA71wdrV4u/+JnXCCsZSDlzSecLR5TEA+BNcLa5/q9IytQeM0uTV+LHFMzgZX1wnw1m7G2sLDggOpTn/qUAwD2H3kmlD2gADABQD/3cz/n/v7qq6/WX/3VXznvBT0ESL3iFa9w7wEc3/3ud/Xe975Xf/7nf67/83/+j/7mb/5muWfyf/7P/6kvf/nL+trXvuY8uX/+5392oUY7l//3//6f47j84z/+Y2doc+y3ve1t7n5Dxvye97zHgRvA9IEPfKDisYNKGMprsMDBQncWymNB4bqioOCGC8p6UA8wscmxcvh+FmMjG7NcOI5zoooQUGIjQPTqVyD1AlOjYzraRayUGKPAG9ZCcVlYizWBsQLDeinv8kz3mMody9aKcSCyfvC22RsoPpQchtXNN9/svHHuFyBf69o40zymatLR0eHuFwofQweg/4mf+AlXSPHGN75R73rXu8rqBMKCeCleoXDiq1/9qruveLKE4kq9zzPgGXm9G7xgnhe6hu/+kR/5kRVr6AUveIHTD+i+SseuRUKPqUm9SSxSFgUWBe45CqqWKq5agInj440RIjHKH47djOIJrxBOYKFazgqPLOhng1zD2Sr+sBbGi4X9UDJ4D17G9EaeW7sDUz2l6fSY1Vqa3u45pkYkk8k4ffP6179++X4RMkPHfPCDH3SAhRf6+7//+86DwsMhl+0VDCVyWRhGGFH+WWu8/9GPftTlTP2f9X6e9ymq8gr3HaMMo6LU5+2ztUgITE0YeW4Dx9hQeBXkIWqVoMBktDJsZC/RazPLzRES1hwHywk3vtKmrweYOFaj4ZAzBdwI43nDNF7GdBvHwD3EGkYJGyfbakg7krg2qzS9lV50K4GQvY5wfxCuk335X//1X/qVX/kV/dZv/dZy39Mv/MIv6J/+6Z9OMyK5X6w7XqUMzNV8396rRUJgCijlRp4brRDvUQZeDygFBRY2KsfC4sGD8RJwNprnsc9zDigCrJ9LL7000PXUemzyYSRDzXOwXAx5hqDKpZ1CebUKGxXL16xfAAlLE2sWL9irhLk39Y6eLyVnwtiLWkrT7XU2e0yzS8Dkr8qjoZ3wGqFPjMe//uu/drqB9WWTeU1YWwBGqfeCvk++sJ7P23u1SAhMdfQmGShZLw9WHlZxI0zN1bjubNBeuWKKRj0mvs/GbgC+lEibhdYsYDIljGLB9UfponAAXO+spaAUQWeKx1RJuD6uE0VLiW0pJQwweQspGllnrbxnzfJirOLRy5pu98iaVwFz7iMe1mqzpq+Fx9TV1VUWCP/oj/7IgdRP/uRPuv9GPxDq9w795L8p7Sa8TFEFe9x7j+x9+6xf+B3VeHzW/z7fRXEGKYVKx65FQmCqIN4ObLM0jVaIzUCJNsqE/gQ8gGZTCiF4FYTUcIUrzWhqFJgAJSwbwk215seCABOgTqUP94xNxHVwXwE/8xxs1pKXIsgUMv/6PcSzRbz3rpQSNsZ0NjhJZj9jei0KslVNr0ZcuhrHKlWazh7heK0oTW+1xzQzM1M2vHvHHXe4/iVjjUeorKMk/NnPfvby76js+6Ef+iH3HeSIqMB74QtfuOL9d77znU6fodsAfVuDrD0KJizP/Nu//dv60z/90+XPfvGLX3T0auzXSseuRUJgCkgrZKCEpUY4DSuWB2VhFhZ+I708pYAFoGDBsUAoB60EFo1UxuGJYWlyHMo/m90DZf1PnL/dM2/Dnn2HN3xjFEFsCnJ3gJp3RIMpvrNFyt3zcqPnjRG81Oj5duCvs2fTqtJ0IhbcByx17z2yYhPWlTdk3CiotNpj6vaF8ewcfumXfklvf/vbHRm0yc/+7M86ffGsZz3LVcwBFB/72Md05513uvfJSf3Gb/yGK0VnrxECxNt8znOe496n6u/nf/7nXa6K50hBBbksQIn9i9DT9Ju/+ZtOdwBU7373uwMdO6iEwFRlbpIxOPCAUJA0v5Vi0G5W8YFtaCw/LGQqWggVBuW6q0XxeMeew2pQL6NxJWDC+6EcmI1jLBH1UASZsgGosOg4d3JheHj1MF+3k9QCsEFGz3sZ0/3VbK0GprWgJPLfIxt/wn2yYhPjq/OOVG/nHFNXiapEnj2l2RQ8eIU98fGPf1xvfvObXbMrBVmf/vSnl5t56TcihwxwYPziOdGka0K/EWBDzpxrBGze+ta3rvCAOCb9Txzrz/7sz9x3BTl2UAmBKcDcJGtiJdRUjn+uGcCEsIkI17Do6B3Auqvl80EtOf/Yc0CwXtqYUtfOfwPiKEu8MH/Xd62KwK9sSPpyb4z5mnPwhv2aWTDQCqnXICg1et473A5jw3tfWgVMth7Wml3ccnilWDv8I9XLgXk7eEw9JfK9eFE0vZYSSKKJUpSTX/zFX3SvUoL3SZ9UuV4pQu8wOpSTascOIiEwVZmbZOE0Fi43vFxStRmhPOQ73/mO8xKqhe7Kfb6a9V1u7HkjJLJ+jwnvBtAD0GspoqjleNxvcnvWB0RlEhYxPF5G4+ItGGjnEevNCkl6w6E8V9ajFQlQqEPoD+H5Y8Gu5n1ZS4+pltJ0L5iT/wxSmr5WOaZzSdp3t7ZBbxKLlPBdkHCaEbbWI9YwixAiDMoW4RX7+0rgUmnseTMm2CJscKwlQIEih9UEBK/ysyFu3D88Xgvd2Ij11WQGb4ashmcBePtHz8NCgZQaPc99aZYX0C4eU61gHqQ0HY+ilR7T3Nxc0427dpdzGpgsdIcFyUIkHspCZcPiJQFWsEp7yRPLSb1EpoTuOJZR2hOqqncsQSVgqjb2vFGPic9aDi4IP2CjCqvS5wFD/4h1QIoXngPn6u0TChK6WU1pVRGHefuU6nPN3tHqNnre21dWT+7FxFvF2gppFiVRkNJ068nhdxSlrHZp+myZ4oezWc5ZYPKG7oy5gU1Esh6vgiQe+aSgVlE97OCEDgAlFjfeBXxSjYBDKXDx9g5VGnveiMfEMbHqACa/J1btnBuRoOdLvon8guUYjFWA+4/ngGIxkOJViXB1tWQtaIL8o9V5huZpWu6llr6ytWZiaFVpOuuGsCj3iH9XuzR9tkyO6WyWcxKY/CPPWXz8DmuIHAWMB2zWWqSW4gcvuwKEiVbq2YwmWe/nsfawhFE01cae11tujpKn54jjQl7aKqVer9LjcygSXt48DPfILGKUAEoGBdMKb6ZVHlOlvI939DzrsdToeZ6tN29no8LLHavVpKqtOJ4ZMQjFScaD6C9Nt3uEB9roec3MzITAdC6OPAekjNG4EllpM0J5eGYUBpRiV2hGZZ8pHxt7jvLgmiopkXpDeYA4wEfIjOO12tNohkL352G8hKt0s/Oc6MGwv2kkvFVJ2q23qNToeT+A2wRW7ot/9PzZ4jFVOhbX560WRUgDGFCxP9A1jZamz83NLYelzxWJn2u9SaZ8TYnT14Clg4LCAqp3cQcJ5RkxKhVRjKnwu/yNDtwzYPOOPYfpN8g11RLK4xiwGZMcpuObjcY9bKWsltLzEq6eOHHCFaXwvLx9Qt6wX60DAdvBY2pWIYUpYP/oefMozkaPqVpFnr80HVCxPJ63NN3uUxDC3tlzMJTXXqVJLRx5jiUDSBCioGyajdfIwq7k7fB7FDfVapAt0tdTKg7djFAeIUL/2POgnw1ybBQQ9CSwMuDxobQbJZBtV7G1QmiLZwbdCkCMkiC8xQA0+qm434BYI+PD281jChLS4tlTsco64GWj5/GiLSrQjNHz7egxBckjWXiUil6G8hHqZl/ihdKGcvvtt7sx5NwvvKtyDNyzs7OnFWDx+Z/6qZ9yhgKFRgz+MyHvxVoFIElL/Pd///eKz9Lwim7g/ec973nOsPAKDbYYZhgaP/MzP+OiISZEluDkYw8Avgwn9Eq1YweV+LnYm2S0Qtw8epNQtqWIC2uRcn1MLDaOBRBW6+lpBJhYvIAvFpp37HlQCQIubAbAlUVLbsw251oA01oc0xveorLNeOysydd47MyzCJpfaLXHtBog6C8wQdFCV+NtgPZWQjbD02wFL18pqXdcS6nSdOu/K1Wa3t/f7+4Te9pflcdsJoqzCKsCHDTLUkTFbKYXv/jF+p3f+R3Hh4cRyURZ+OwwriAK4G///d//3ekjJs7CBAE48gwZiQ5wYXSRk4Z2CHqif/3Xf3XHhfGBvyMqw9pnCCAeIN9Jfq3SsWuR+LlAK2SAZP1CeBXQbaBcLMfUSAitHKhgRbMQ/Iq80nfUo6Rs7DnfjwVbz6avdGwvu7m3WKMZpeZnspTisfOXXxujAK9KYZszzWOqJJZ7ISyKh2mFFH6CXm/FXyP5SW94/kwrTbf+O8T4IU8ulabDGo5y594Rmuf+WSiVib//8R//4e4b64qx6zA18N+0vUAJhOCl/cmf/Injw2OAIJx2v/d7v7dMsgrX3te//nU3JBDviLHr/IxuRAAqdCXVqwDSTTfd5EKS/Axw8p0vetGLHDBxPpWOfU4DUzlaIZQGIIFnUaq51Maj17tpvcDEv2w+FlfQmUb+7wgiFiLEesEiAXDrlXLgYszNWGXlKJLWKpTXbuFDf/m1Ud8YMziGgzc/ZQUpZ4PHVOpYprz9nqaXoBclB4hbJaR5mrU0ZrcamFaL9cHPD7lr1y596UtfcpNp8XD+9//+3y4USCiN0egADGE3IkCMYCefXG60Obx2CO//7u/+7mnvQ+j60pe+1K1Zpgt4Q7aMUscD4rnAieel+8JQ5dkRDqx27HMWmKrRCrHw/QP2EPNkGgEmC+XhdhO6Y7NwrFoa42opfig19hyrpl4lV8pjsqZcFl6p+1bps6st7Z7X8lPfeBkFMCTISxltkhlFZxswlTuOXwGXK7kOyga+Fh5TK1gf1q9fr9e+9rUOfP7lX/7F5cIBCI7/nve8x3mjf/d3f7cMEB/+8IddqO1Vr3rViu/BoyddwX1l7flnI3nHplcaq87zqjZ2vdKxq1UGn5XA5O9NMg8AJMcqo+iAEFSpzWKLrBFLyECFZDgWc7Vx5I14TOXGnjeSo/J7TFQrksis1JTr/WwtitU8PRu1YQqonfnsGhVvjoX7yVo1r4GGTf6b2TresvRmK9pWAlMt4a5qo+f5Li/Jqj8k2mr6o3pzTPXK3FKOif0OUBENIhTHz3hTRDP+9m//1qUOqo0+L/VcWjV2/ZwCpnK9Sd6ig2q0QvagWHD10IvwsLEYOJd6mnO951EJWKqNPW8UmCwMCiCxyKs15fo/G0SwnPD0UMQkgImfe/nsUD4cs1q/x5k64sKEdWa0SWxclDA/22gGo02qhfG6ncaqN9LH5B89j+L1ch/6R897jdFWSCsrAItLIWFv0dRnP/tZd4+sIo57QLiMajjAq9Toc+6dTcH1r4Naxq4DkpXer3TsWuSMBiYWCBeN5ckiNloeKwYI6rl4PaxahQdlITWk1rkj/vModw6VGnObEd4yj49kKz97hyBWk6DH9RO8cjwDca+VTG4uSL9QO4fyahXWaCnaJBtfAZB5x1fUUyzQSmBqVpWcl6mDsuhSlWzcC46HMdXo6Pkg0kpm8Uwm44xrr2HNNVNY4BU8Ksubk89kUJ8J+tDWDHqSkBtGYS1j1akAxHD8/Oc/X/J97+fLHfusBybvyHMWKXFT4vgsGGv8pDrEPwOoktQztsIAEGVC7NXiv/W6+eWadLFIACXitZXGnjfiMQHubAKAgphxLRuvGjB5+fps1IZ5Z+WsZDwprpt7TCGJ5WOMZeBM95gqAUYl2iSUitEmGVAF5WdrNTCtxrH8lWwobfY/CtE/en61uOtaySw+s9RD5DVEAQEq4PyGK5EO+pnwqCgnLzXa3Eafe2cx8T6FDxjVAAj7FB1g9/czn/mMCxnyHqXg/M50EPebKAj6j+/+r//6r7LHPquByV/gYDx3KDKUt43vrtV1rAWY+DseHr0aBoAGCPWGA0sBi7dMu1KOrNzngwjHIA8HASv3gCRqrVIJmLgfVF0BMt4hi5WAzNvvYf1CFsoxlgHOlReW4mrRBLVKqnl+lWiTMMRsvHo1VvBWh/Ja4VWw31knKE2qRr1j1bk33Cv/vWn0vFo9vTayNBDS5GUve5kbEEgBxE//9E8745xx6URSXvnKV7oSbcqzX/Oa17gm3ne84x3Lng5l5fQaUd1H1IKCCfLVH/nIR9z79C0xSp2+Je4blX8Ai5WPo1v5G0arc4/pcbJhha94xSv0lre8peyxz1pgKtWbxKZlMdIQVgsFT70VcSwUAJBjewGwkXCg9xzs896x50En2dYKTByDa0HRU+HD8eoRAya/4rMwJ+fFpql3qqx/jIXlDy1fhZjiPhOn1yK1AIa3WMA7Xp0XBka5ZtYzJcfUzLHqxl1n3ia/a3TkCXqilkR+M0ZeRDznyPrGK/qVX/kVV/rNdTDGnJJx3sNroTqPF97V+973PpeTRmgrod/pda97nYtisC9hZ7Droa/J8svohR//8R93vUwm//RP/6Q3velN7v4C8gAio9ftvCod+6wDpnK9SYAU3gQKlt6kIIn6RrjuCBHiuuK5lAp3Ncp1Z8DmH3se1AOrJcdE6A6lTqiDabkswkYGBfqFSjOuwfJ8zbQwUbRsAoCKMKo/5+AP+7V7tV8juTL/eHVvM6uFQblX3r6pUpLLZDQ/M803qrO3V/EG8zTt4J157403RGzTaq2QwsuYHsSoaWXxw8zS9Fr/vSQkDqNCKYGH0wZClpIbb7zRvcoJHhevUoJOMu+qnmMHlfiZ2puEYkXxsdn4XSOgVC2UZ7krNjqcV1bWWuo7GvWYrETWO/a8ls9XOz73E8vROALtGI1OsLXvRiz8yCJFIayG2DH5108T5A/7WShnNdnB20XK0SbZ2Hn2EiEWU8b83dToiMaOHFZuiesvnkxq3ZZt6m+A0Xot2L5rpQRiX5tR4+0t8zKmlzIKWz29tvscGxLY9sBUauS55V2wdgjbkbCj47hRC62ct4PFAgBapVolup9Gig9QGLjQKNJahu3VcnzvfCZvvqdSOC6I2N/zrEjMY5UGDT82IqWAtFTYz8Jcxg7ebmG/1fQuvLRJ3BOeD8aCAZWo+IpFFIvHlOrscn+fTac1cnC/kp0d6uypPr25lLSSu65eEDQmDtsH1luGYYN+ART8s5XMgG2lx9S1xhOW10Li7Ry6Y6HYAjdaIcu7XHfddW6h2EjyRq2YUh6TzRui4i8IU3e9oTwqrgircY0okHpACamU42KBcwzyE6XmM9m11aMk7bPf+9733CYi/Ljas5mCnqO32s8b5jpTw36NiO0lL23SoUce1sTICeUKRc1PTLj7ipfATjo5cqIhYFrrUF4jvWV+7kMq3qzIBP3Dv624xtlzcOQF0na7kEWGZe8P3dkYckJ25ERMgXhZGxoFJm9lHQsRwkmKAoL2JtUayvOPPedasdjqlXLASAgSnkD6DAjflYvH2znVKnh6iI1BaFfrrlSYq1LYr5UcdmtBE+RCuJGIkqmUUkuRgGwm4zzfTHpB+594QgdPjK4oSw8K3K0Md61W2LDc6HkiNjS5s3f9RSbNfo4zSzmmc03i7dibZBvIPADyIYRhKGW2RloTLzA1IuYxmWdhZee1MHXXEsorNfaca2w0R+WdCeQlea2UG7PP1qpQ7NmQE0OMrf1M4cqrFvazdYjnvNphv7Xir0t1dWlmYnz5vUQy6Qof4tGottL8nOw4DbhNEVcqvWZtVCraWZid1ujRJzQ3dVKprh6t27xL3f2L5fDtmM+y2Uq82E8wbhMV8DdBe9k6mlG5NxfmmNqHVshAyUuIWontoNFqOMS8FayhesvOg55HubHnjQ4K9H4eJQLAcj7cu2pWV60eE2EOng3WNZRPVOLUChTt5ln5w36AE6BbKuyH4mklX9pqAVPf8DpNjY0qMz+nWGIx/JrPZpTs6NTg+o1KpFLLEQMvcHvZOUp5DJW8wOmJUT10+02anRxXNEqUIa9j+x7UeVc9Q8Obd7R1oYU3OmOFFPWMng8qs2Eob+17kwxkEJQBHgXlwISHKimBelgbvGIhHTYeYUKzoGuVIKE8G3vOYgb8vJu3GRNsUQhepgh6CIJO20SCHN9bao6352Vnb2UYazVDbTwLFAtGA2wbXtJVvESAuVnVfq3Mx3iPQxUe3lLP4JAy8/NamF1iGRgcclV5gJJXSrFzmMeAR+WdsVSuQIDP7X/gDs1OnlT/uk2KRBarQadPjuiJ+2/TwPrNisUTZwQwBR09jzeFbrEhklZIEeScZ2ZmwhxTO/QmefM7NINVCj81A5jYXOZZcKx6Qamax+S9LrquSx2nGcDE9dx5552BmCL8nw2i7LEGKasFVAFXb9l2rUDRiEJutbflT4xbvsFmCllTaztV+1W634cefUgP3/FdzUxOKhKNaGDdBl345KdqaCPAEK96f72l1+YxeGcsoVApxUZB24wl1ww/N6Pp8RPq6u13oGTf1d03pNmpcQdQA+uDzS9bK2AKEu620fPmbRLBsEIKQsPeIZKsG6JBpe753FJl4LkmrXuaJXqTsOp5SAZKKNXvfOc7zn0lxBUElLy0RLWeA2EaGCPoYq5FidfqMXE9HIfNynWVA79Gy825l1axSCVhLddj4dNK1EI0F2MZ4yX580nNyPnUKmtJ4mpNmxhPEGqSw+N3PAPWMGS43Cu812prs1Uek7ExjB45pHtu+aoDpZ7+AXV292rsyCHdffNXlFmYr+tcbMYSxTWsP1O4rEsMMlo6CF8fPHhgKQ/qO0ak/mfaarbveo5no+eJYDz96U937RrcL8AcQ5JQOPuLiMrc3NzyfTDmB7++87/wZokyIdxveOv4HceD2cErjE6nypj3n/e857l16hXmP6F7AUSm2hpfH4KxwaBCgJTrMYZzk2rHbuviB1v4WA3kKBDi+cTxsb5ILNby4Gv1mKzwAKVB6I6QFwSQjY4HLwUsRvSKEqtGjlovMAHobHpv1Vmzzh8hDMH3Gw1TKW+g1cDUTvkp7323WUvmTdngO6xjFDXKqJx1vNpiAHjokQeUnp/X0MYty+cxuGGzxo8f0dF9j2nvFVc35XjcDwv7oWwtPzU1l9b46Ii6B9arq6tTqVSHFmYm1NnTp97B2iMW1QotminW69dIfrHUEEn/6Pl7773XGTdQTKEPvWK5eJO3v/3tzsimepC1BhceZKuQSvMdr371qx1LBEYU1bkQuDIRl9zzBz7wAf3wD/+w04fsa+iHAC4MadYqvHjw4cGdh0A1xN8BoIAqE2pZ23xntWOfEVV5bGaQ3vjOuMig838aASZT4txcr5JtNE/l/w7/2PMg3l89wGQ5KzwYrsU1TdYppcAF8Ob54FVSFVkOWM81j6mWMI5XKVvYz9vk2+py8emT40okUys9Xp5rJLKcZ2rGsWyteCvaUMQ7t2zQvd/9sqYnxjQ+c9KVqCdSHdqyfrdOTkzWPDSylR6Tt42lWVJq9HwqlXIhc/JTb3vb2/Sf//mfev7zn+9A5IYbblj+LGvr3e9+t/PSEVjHIZZ+85vf7P4bbx56ob/+67925Kr8LcSsDBo0bryvf/3r+uhHP+q8o//zf/6P+9lIWwEqgJGGY/TLTTfd5NYwP3O+fOeLXvQiB0zVjn3GlItjWeJ+sjlxb+ttygwCKha642Fz07nZ/rLzZlT2sUlKjT2v5fNBxEuTZDkr7mWjOSr7POeOF8mCBJAIdVb7bC1Awbny/TYckFctyqidPKZq4uey89PgsPYIfWAErMaYBq+4kRqDQxo9fGgFILrnXpQ6m9TMWYnElQKHJz3nRzRy6DGXV0p0dCvZPaR0Ibo8NNIKBXgFGa3eSpYJZDWPF4vFnN7gBTDB1I1h+JWvfMUpeC8wQaqKlwLgI4RMf/RHf3TF9+HVMEjQ3of41f/+pz71KTf6gtAhxT5eI+tHfuRHnAcEEL3gBS9YETFBN+D5EQ6sduwzAphAXRozWXR4So0ommqgguuLa0x4pZxX1qySc5QO49X9Y8+Dfj4IsBhrt4XWrNeqGeXmVrqPy0/5qzFsVJOgwOT1JDEQUEKU6BNKqGWCbTt7TEHnCVnYj2snpO0N+5lSbmbYz4Bo24WX6sjjj2pi9Lh6+gdVJJQ0Ma7eoWFt3n1e045VSXl39Q5o58WnFKBXvIUCrEPvaPVSjOCt9pi81cOrLbOzsy5Eh4KH6dsrrBVGquPxmJASedWrXrXi70hVcE/5e/Yd684rpBjYg3yWoia/2Pvsy0rvVzv2GTFaHWUHyrMxm1F04I+7mgAUKHGUdykqHu93NKLUjRWckCShO//Y8yASBFgozYUBo1RordFwmvWOoQws1BnUiw0y8gPly7Ow3ifLC/BZU0Z4DVT+8TvLyZRixj6TPKZKwj1gbQLEKIxSIyy8Yb9GmjYNmIY3bdFVz/4hPXTHrZqZOOl+t2HbDl3ylGfUTUHkl0bGXlihgHeaL3uLtYFH5W9kbbXH1Kr+tWKJsepeef/736/nPve5y2E3hPVTKkLDGuO9UvfK3qv22UbfPyOAiQVliqhRKeUx+el+eFXaKI2E8mzsOYsIRVoPKFUDJq4Htx5lVY61u1GPic9ivdNgTHVVrVV9lUARA4HqIwwS632ywhe/MrJkMGvDwl0seAMp8+DORI+plNh1lBph4Q/78Z6X268WJekN3W3Zc7427titqfExRWNR9Q0OL+aZ2ny0ujWyAlTWyGpVvSi+1Q6FtpLAFQGUvWPVTTDo3/nOd7pptH4QQB/5hTXE2rGoiHdvs894r9xnve9juFZ6v9Kxz5gcEzmFcp5OLeIHFR4aoTu8F+Kl1vRWSeoN5XmbWUl28xDqFVs0/oXjHRqIp1FqoTYCTByPSiCOQ+4NUKr33EuJkeHy3VZmXglUylW5ca+NTBOrmWQ6xsBqsS+vdZVhqbCft9rPO501SNjPv67oVxrcEKwlo10GBXobWVlP3JPbbrvNXZuFQldzzEkrPaZKlETkmtAFlH17BfAmd/usZz1r+XfkobkXRD8waAm5YXya8PesL/usX/gd5e2E2ktNo/V/vtyxzwhgYrE0o+AAsSm2XqZuHmYtBRX1ELD6x55j1Taa4/Evfq6HKsIgQwPrCeV5p9ii4OstNS91bG8+qVxTca1VbhbewHtg06KUeN+8KTzxVpUON0uCPjP/fag17NfKqbKrMfaCXFh6YV7xeMLNjEIcE3os5tICGIfexmcbc+IN+9Vqua+lx1QsE8rjHOgfomDBL/QQMUX29a9//fLvPvGJT7jx6PY+XhZVdN73KXxgXaEv2bPkjRAch8985jP6/d//ffcepeD8zgqVcADQveSeqh37jPGYKuWG6vkeNifVIV7LvJbvCAqS5caeN6P4wLv4LRTpZ1mo9Plaju8HPcZWNDIs0PtZbz4pCFdfLcdho2IJszm4L8Y4gLVWTxFFO0it51gt7IdnyT33hv1qOY6jKzo5rrnpKRfi6+7rU8/AkKI1EPw2874fP/C4Hrvndk2Pj7pz2Lz7Ap1/9VPcDCkvCJaaWOvtDwKsvXyHtRoxrfSY5pdyQv4ICT1F5LFLjSx/xSteobe85S3Oo6Kaj6GQ73jHO5Y9nV/91V91VXwYioTUP/zhDztdZlNp6Vv6uZ/7OXcM9AKl5QCL5bHIO/M3f/mXf+kMAHqc/viP/zjQsc+oUF4zPCYE5cTG9A/ACyrmMVXrKak09rzRyj7bXIQn8AgY9RE0FFkrMFE6j/LygngjxRPez/rzSas548gYB6zS0ooovESjpoj4m2YwPrdjyLBS2I+1xH9j8bJeUdaVwn6A0on9+9zoC/c3xaLSc7Oan5nR+u07A3kMzfSYRg7v151f+5zmpicduSwhyMfuuU0zk+O67oYby3oxlWiTMGKw9r38ddy7aufcSo9pbimf4/eYyKsZGPiFXC1eC42wvFgL73vf+5ZBDEB717vepde97nVuf6DDYGewfUFfE9XS7Fv2EpWA9DJ5y9Pf9KY3ueIr7t1v/dZv6Wd/9mcDHfuMCeU1A5iMERyppYqskrdSSpGy0fDIKEAoN/a8GaPVEZS6DfSrhXMtCLBwfgASsV9/6XyQyrpqx7Z8UpCCk0ak3LX6K7rMi+C88D6teIDrNv62dpBm36dSYT88BkJDrC+b3loq7IenBCgx/sLb57QwM6P5qSl1BxhkWc5jyqYXND87pWRHlzq6gvVM3fedmzR29IDbH+n5GcVicXX29mv08H6NHlkcFRMELPxGDCEoA2+UfRD+ulZ6TDMzM+66/DrgL/7iLyp+juIoKI7KyY033uhe5YSmWF6lhD1j3lU9xz6jQnn1dL57gQJWBazARqam2mIrpZitmILQV6Wx542G8gg3IHw/VkY9YzcqHR8LiNCdNf76Z01VKmAI6oWx0RvJJzVTWFPejvpSRRTca8tPrdUI69UusrCwHxYuzxzDykY0mOeMEjaQWiB8t+RBr4gGKKeFuZlAwOT3mBht8cR9t+vwo/cpk553oLdhx/k674qnOtaHcsKIjKOPP+R+xluCnQKPDnZywA32iHq9M8AYy5+XnzYJj8pydgbgAEQrPabZJZ68MyEU3WxZc2AqVYVWTchb0GsDGAEUKBg2WiPi9Zi8YsUUbNxqHlm9oTzAhNwYrjX3BG+snsVfrqrPWz2IBU3/Uymrr16PiefBpm52PqmS1BN29HsRnDP3xdsfY95UPeHgRqSVlETGhM7LKtu8gN2XiCmVSChfKLhCg8VybDvPYOvSvwb333+nHrvnu4onU+ro7lUuk9bBB+9ys58ufeoNZa9/5OA+FYsFRWNxeJPc7+KJpDLzs45wNpnqVKGw6Fk0In7aJG/OzrxtQJ1oCsfyFgCslswsjbwIgWkNQnkIDzmot2M5HuLGBhT8rtGQoL9KsNY+qHpDecYViHKwAoR6va5SVX1ez5LqQaMuKff5WpW95ZO4Nyi5M2UMtFcRWX+Mv4gCRcTaxDhhva2WgljrEe5+wB49ekRToyfctS8spB0oxWNxxWJRxQLk6Mw4svUICB1+7D4HKDA+IPxMUcXIoX2anRxTz8C6kt+VzSyoo7tb87NzzlMiv0TOK5/LK9XVofXbdumRQ8eb7sX4c3Y2s429hEEM/Q5rwryparRJ9cjc3FzDVYRnqqypx1TOSyklXu42f46nGXRC3u/xjj1freIDhO8HZPl+jgNQN5Lnsftpis6omFC4lUKQJrUe25tPolCjlY2HzVbopYooUEIkgnlGkUhRg4OEuoZXpYiiVR5TtWe0yAyxWcVsVvMz00omFsc8FAtFzWVyeuKuu1eE/Url6WwN2TWlzbvpXKlkXShu9rg7TjlgYtx6R3ePEslOzU5NuEm7ICVNwbsvu2o5DLjaa4+9SXiavcQ+wsCzsJ+1iXin+TYjLDwbhvLWlmG8Wsm4lWfzoEpxtzWzHwr3mWP5x54H/TznUS006fVi6Bfwzk5qJE/lTVRzr8gn4VHiiQW5jnr47iyfxAatZ7R6s8rTmy3kE1Aw87kRnX/5Os1nTmp+dkyjJ8b00MMFdXWuLMVuJCFe7wwiHnfQ0JodJ4iyZA2u375Dc9PTLqcUUUSdvb0OIC7M5ZYVsjdPZ/cCD9Sux8ACAILNPJehyi+m9Hxm6W/yisYTSnWV97I3bt/rRnKcPHFEg5s2KZ/JuhxV3/B6XXjNM0471moL+xsPsxRtEvcEA80bFjagqif/PXOWTq8Nsg7X1GMKAirmVbD4AYpSfQeAW5BS76CUPCTK/WPPa/VYypbieghSS3kxjVT22fGx8ikRpr+FzvCgmzZIKK9cf1KjhR/tGAIrxqfVteGkcpGYUqmkkqmo+oby2n3eRs2P9rmcjJVim3LGm6rHWg7690x4PfjQXRo/dsD182zccYG2X3j1YmFAteupYX+43qX+fvfyCvuPYiNe/oIBqmPZi7amuS/8N17Npt0X6ZE7b1UuC2XNolFB7qinv1+dPeWbuvnslc96sR6751aNHn5ChXhCG3fs0Z7Lr1Xf0PplWqu15Mrz0iYRyTHaJGtZoOLPvEwrSw9iyMxW4Mk7U8XWIM+NYi/Cx6WM5rYAplIek5dZAeVKHqDcprKHXK7Uu5rY2HM2EmGpeih5/DmeUhvFxrhXIkhthoLnWuhXoNqoFqkWyqvWn7TWFD7NlCL/S40qWiwooVOKs6AFFeLjGt6wZUURhfE+sl79RRTVmjiD3rfZyXHdcwv9PCddWCyXy+jxe2/V1PhxXfHMlyoWXzxOLpvW2NH9rjSbnM7ghm0OaJo996lUwQAKGaJhhBlBppA7+jcpEulUsQgwLe6PWKJD+VxRBx9+UHsuu7LscRjDfvnTb3CeEuwPeGB2HWbUtqpAIEhVnpc2CUEJlxscWYk2aXaJbqvalAbYxb1sC+0qtv5IL3DOlJ3TqEsxFu0r6Cy7t2syWr1aLxMPjq5hQkWE7kr1DJUDplrFO/acBdKIhVLpPMjH2Bh3moDLufb1AhOL/4477nA/X3nllTWDUhC+OyZSooAI3/lBqdFS83pkNY9XVE6KLqiQ9VnHSqmojAqaW6Gc7b4wHI2Nxv0hJ0pPB2uZn1Ha5c45iGI9/Ni9DpT6hjeqs7tPnd396u4b1Pixgxo9sshxBkjd8ZWP677vfF4P3XGT7r7lP3XPN/9rUamv8kBCq/azAhsowdi7GHwP/eAeZbJ5xbt61dE7oJ7B9eof3qhYIq5j+xb7EKsJFXipzpXl05Y3axUw1dPHxF7Hw2RdEGWALYbwtxmqFFLYWHX6zWrxmH791399uc0E+da3vuXWIYU7RGQopvIKDa8Y+azZl7/85Ss+y3P6tV/7tWVWf+Y2eZ0GdMBLXvISB5YY8B/60IdWfHe1Y/OMoImiKZfj0qrgJhpPTblJt95hgm3hMXkVOVYnOR5uDhcZhDLEFmatwGRjzy3khWJvJFflzfGY8DPhHgbjBenvqQeYeLDkkwBWGzpX7/n7jx2U766enE+jIzpWUyLOZotKUf85FpbeiweylisxUVhvTND7cPLEIVdunU1nNHL4hKbHJ5jtp2QqpuMHntD6rXv04G1f1czkqHr617lQH97TyOHH1XnfrSqm1re0yIIQjYX9ktkFPTIxpkRHp1OAM3NziszPK1IsoIGdYVVPHqaVIy+QRvuYSlFJ+WmTRkZGHBsDhRaASDnhb8hnwUeH8HnABqaGl73sZfrc5z7nBvehGzBU4cijOfezn/2siwrxM3/P/DgEOiGOj77iGt/whje43+HVIK985SvdmA2OR36cJl2+l6m61Y7NfWNv8H0Y5gwPZBouv+dc/uZv/kbvfe973XtMwV1zYLLiBxYzNxnL0l8QEERqKYAoN/a80SIKf8m5d5ItllKQ0s9agclGq1tJOw+7UfaGevjuagUmjAIrybawl7/kdrawoGP5k8oW8+qPdmlDrF+xSKwlHlNEMSkzoFh8VAVlFFVSRddiOqWY+hRXsLlF5ZgoMFSMiYL1wn2wzVvJY5gcPaEjjx/TwszcYum0yzvN68Hb79TQpq2u9Lq77xSnXTyRUqqjWycOPqrenZS8N2feUiUp5Zn1r1vv9no8HlVHZ6+blpvJZjSHF5lIOs+yWrVfOwBTs5kf/GPV0YX33HOPWzcQFLOf2d/w1TE9lpHo3FuiSr/xG7+hD37wg8vRiw984APO84CzDgE4iNKg8P/8z//cjU0HAK644gr3PuDw5S9/2U2nhYD1n//5n92eNH2IB0OLCfRHVnzGmHeOj958z3ve48ANYKp2bBPCu3//93/vfmYPQLyL4Inhodl0hjUFJlPkFrpDkXtJUVeDELbS2PNm5HfsO6jOoWjDXPigiznoOZTzxBqpVvOG42rluwt6XP6GZmJcegwQroPFSEEI71kYYaFfuq94UBOFWVcVFo1EtDO+QU/uOF+pyCmqnNWUSGadFmaPqrAurbxml+CqV12FPYvA1SQmCu4HQE2opFIRxcadF2jfffdpfnpWHV2dikQXWRDo50nPLejAgw84hgXXjOqRKOHybEaFXONDOYNIKTqioU1btG7rNp04eEDZWNrlvHKZrHoGBnT1c56vjp7e5TxMuWq/Uufe6vlIq3089tmTnvQk53lwHzFoCM0zVh2Gb5Q9Ajkq4yUIl5oQEiRM5hUm3xLu+7M/+zMXiocp3P/+V7/6VWcUoKe8KQDWIPoYjwrPhxHr3mcAUL72ta91UYFKxwaY7HNefcsz9oYqvSM+1txjMlZwEslXX3113d3UQbwdqtVQgOXGnjej7JwHQMgGJcODxl2vRYIAEwsBcOXv/J5Yo+XmfLYevrsgwMSztoGKLHhCPXyG0dHGBE0od/+xg/rOsUdUSEW0vWuDenp6Fe9M6LHsUQ1Ge3RJakdrqHyKMc2PDKh718UqRAg7xRVXnyJN2jbW2Mr9xrBAEVcqoti06yIlUn0qalz5XHbxHGMx5yFl0hnNTk4r1dmhzMKsUp2nNjwsCeR0ovHUmvVL8d+XPe1ZOvjwAzq673Hlshlt3L5LOy++VL2Di2HPatV+PZ0d6kwmtWnrNvUvhUpXY7xGJWk1V96mTZv00z/90+5lgn4hvGbr4md+5mf013/91yVHo9vYc9YU68vPu8f7H/3oR6uOVed9wmxe4T5gYFGAUenYiD0jxm3AXA6gWhEIQr4KGjYbgLqmwETYjhvG5sO9bGTTVAIVFhMxUW4gF19uwmyjwIQFgPIFAOv1/KoBi5XPsyi5Fv8maRSYjIKlVr67asBk5KFsDMAURcP9MsmroGxXXMPdmxXb1qN1szPqn09qdnZOhw8dcteU643qps679GjXqPYXj6srElVPdpN2JII1QNcnwBChp95VD315K9ys5Jj9YUwU5BBT/euU7BhRdx+VXFEX3sMjSs+NqLt/UOu2DOrQI3c5xe+oexbmXbXejgufpGMn59fMY0Lgx9t96RXuVUn892Jhbk533PRlPXb3PuUyGZdX69u4WXufdK1SHR0tpexpNVdeT4niB0JweCuE3vibn/iJn3BhtVKjzVs1Nr3Ssb3yy7/8yy50+Pa3v92tbwokYCR/97vfrY997GPLHtuaAhMhDUPIRhdXOVCxsedG+VOpyqURBgnj1OM68MbqAaVKwILyAlgJ+1TKwdVbHUceibCg3adaqYUqARPJXJ6Bt6/K/tblFrPjumv+iMbzc4pFouqOytW9GSUMf4p19YPpJ/TI/EE9euyEuiMppeMFTZ+4TS8aulIXdtZehdhOUoqp3ltEwfUDUpnpSeUeekCTk9Pq6ulVMZpVYY58U0w7LrxYW/bsdRV7Rx6/T9nMvAY3bNW286/Suq17dHT87rZhmKhFfvDNb+j4vseV6uhUd0+vK4OfHTmug/fdo+T6TcueuN2v1STjbaXHNFdmei3hOML4xuf4/ve/X6961atKjjavZWx6ufcpwKjn8/aeXz7+8Y/rH/7hH1wxBWM0YL0hleNl2FlTYMLq5+QJ4TQqpYDJO/bcKH9WY3Chd7YRyr2RTVEKmLguqgfxZqrNm6qH0sjySdwfALUevrtSwORluCjnqR7MTuqm2cdUUEHDsW5X6LA/M660prU+3quBGLkFKZqIaaRzQTu6tuqKjbt1+Mhhzc/Nu2qgfz/0Vb04dbE2DK9fU5bweiWIIUHYk/tH2HOgq1M/+PYtmp+d0dxUnkWj9bv2aq4Y0cmJSW057wptO/9Kl29SLK9CdFo5jUnRxodytnpI4PTJcR17Yp9SnZ3LTcSxeI8jdE1PjOu8q6/RyNi42xN+Ml5raG1k6kC7eUwjIyNuf3p1AHsLHUQBA961t5LPxp6ja6nyw/D0VjoHGasOgPBZ//t8F7lRWgLs86WO7RfyZXhOvEzIL3plzXNMzZxi6yVg9Y89D7JRag3l8bdUzLBYbLYRPzc6k8l7DlhNJB4BjSAUSbWG8rz5JO4RIFWP+AGRa+B7URalaKRMHkqPaKGY096kWUsJXRjdqLsWZnUoe1LzxYySkZhO5KZUVER7Epvdc+pYUlLXbNmlowsTSqZ7lhUTisg7an21WaCbIYEZGSIRXfKUp2nb+Rfq2BMPqxCZ1bot66VEv0ZPzK9goli3VeoanlYsynqKqHcL4ywwOkqHstvRY4IWiXxasnNlBCKRTCo9P6f03JxTtChEI+M11gUiDBYC9Vb71Xtuxi7TCo+puDRW3T+9lnWNEudl4IQO4tptbDqVe/7R5qwbjFrCaC984QtXvP/Od77The75Hu/3cg8pmLAisd/+7d/Wn/7pny5/9otf/KIrzEAnVTq2V2ispVeKKkx7FoAq50SRheWc1nzHNmuKrYFKubHnQaSWUJ4BBsf1DvRrxnh1y71YCIxwJ+G7IBuqlqo+ehZYFJZPwrtphLvOjotLjwfGuRAWrDTscDQ/q97ookUbgTstkldKMQ1EBnVhYkjJaEHzxbQuSQ4oW0gqHllcsk6PF6WsCupOdWjnuu3q27FYco11ZyBFjJsNYASt7Tjfpp573rMurz0buQ6sX6zNGQ2u36QLctdrfm5BJ6cPKJd8RCMjGRWySRdqKUayinQdVl7bFVPPGeExddGbF0+43FLSs474b0ZyQFmULpzKY7DmenuS6ulapz17KL/OLxdRAFIYwd4BibV417a+WznBtsfnMVl/ES/LMTEKneo3quYoIKNajxwUQEHehr2IUDVHifmnPvUpN9GXggnWxXOe8xz3/hvf+EY3Kp3wGmuS7/2VX/kVd4/QcQhFF4xWx+gHqMgNIUyxrXRsu563vvWtrmTdG7bDcSBPxnt/+7d/2z7l4s0CJh4SqFtq7HnQ7whyLhQ3AH6lAKMZ49X5POEvXOFKxRr1VscB3gAeeYtm8d3ZcbG4AGyALsiww8FYp/Zlx9UZH1NHfEpR5ZQvRrRRMe1OXqi9ycUCDL57MpfXbfNHlCx0azw9r1h+QUOZCV3XtV19sc6SLOEAEyCFYgJ47X1TTLWukdWSWhR5UXMqxB5zJSMqmieaVjF6WJFYj7q7NyraG1c20qdoYcAZCtyHmcmoihrT2JHvqTOyy90HLPJmK9pmekxU7G3cuVOHHnnYXTkFHdlM2uWZdl92heKplKLptPvbbHpa48fu0vzMUcfDl0j2aGD9pdq0affyMEB0hFU+1hr2s73RqhzT7BK7uF8oHKB0nEZU3scDAVAsf/PmN7/ZNbvy/qc//WlX+YnQb4QXCXBw/Xgpn/zkJ5e/l7JuwIaUBM8PsAEsvB4QI9MpvqB6khJ0vgvhvysdG0E3YBy86EUvWtHrxr+UltOY2xbA5E4gALt4NbEFh6UMUFSjMCon1QhUvdV93Hji/bV+R5BrYeMQjrj++utPc+WrSTVw8fYn+cvzG+2BoryVJGY1bkOvXJhcr+nIAcViUyoWk0oXY5orzmt3R0wDcTyB9RrPZnX/7LS+NxHV7emMIrEpdRSyShdzuiw9pD295YEbixCLzLrsbebSA/sf0bFHJtTb3aO9A1u1ZXhjWc6y1ZaaGTOi3Je0VBxwPV6L0qEi4BSBp26jo02SYu56uAdWIdXb2yEl+jR6YM41Z3t7x4yJop08JuSqZz/PVSAe279P87PTiseT2nnJZbr0ac/U4SNHFtd8PqsTB7+lhZnjiid7XYNxZmFKI4e/p2gsoa6+xXA+HgivesJ+reTlKyxNCChVrEXoDAVuStwrlGFThFVOKNfmVUoA5Xe9613uVUowxGF0KCfVjo3HZMBvwOQldfXWGqw5MDWjRNum2VLkgIu6GueCd+H1MspV9zXidXANbBAeVD0eX7XjV+tPqncWlDUUc/4UmZi3EkS2J7qVTsQ1kk/oJHl8FdQX69emWEqZyIhO5jbrK+Mz2rcwpxPporYXd2ouP6tkbk67chH1FLfrifmsdqQKejQ7on2ZUWWLBe1IDOqC5EZ1Rk/dQxuVfbR7TgfWFzWejWrf3LgemBvVjnu7tDm/qJRMSbdSalN2i4bcKVAyiUmRxTBwtNijYuSEI6O1vyuqoFg0pv7+rdp02creMWOiAMDs+usd51GrxzQ5OqL9D96n9DxVhJu08+JL3JgME4oerr3hRZqZOKn5mRl19/WraylEb8wPc9NHlJ4bVbJzSNHoolqLdSa1MD+mqbFHHDAFIVv1hv3QBd4mX8svtQKY5ubm3PFqNUzbWVhb5KTwrH78x3/c/Y57iWNCky+Gssmah/Ia8Zi8Y8/xkniYjUi5MBwuKMfBsqzGglBvKM9Agw3AZqs3xJRI5pRInVRBXYoIizpZMp9U7txrtd6NtghrHMOgFlBCCpGM+qNx9Uc3KR13Nv4SmEAENK19CxM6mslrOJHU/oV5bU51Ka9O7Zs7qUi+qI2JDh1YmNdXZ0/o7vQh952UnN+bPqJHUyN6Ufel6lrKYSGHsuP61vwjiiumPanNKqaKOtY3qdlNMW0r7FFxIr08qgDvwbys1ZhQalKzl1okvENYLrfc7AsAOVAqLIb2ksUNyhVHlI9MKFpc9IKSXWkpRzHI8PL+47p4eZkojAWbZ2v5uUrsC414TI/fe7e++9//6XqV3Cci0oO3bddzX/WTDoC80jMw6F7+Y7lR55mZJUBcuTdjGDgLJwMR2GLNE/IrF/az8TpUgq52GHhuSZedKROhgwhRC5gi8PSINtHywj3EC/u///f/OvqitvOYamE+LjX2nM7jRsvO/WE4b++Qf2pu0O+oJn6SVJQBP9cqKKZC5Alt2HZEyVRRueioIupWIbNL93z/8Gn5pFJSq8fE/SYsiGIjNMJGDioci1dUCUVZhpGCeiOnyGfzyrrfH88U1R2LKR51U/HE2cWXhuPNFYvKYfVrRiPpw9oQ71VvdFEJU3b+cPq49iTW6eqOU+Pk92VHlC5mtSVhCi6irfFBPZo9rsmunK4aWlxPPAdyUpTD+umS1nqCbaQ4qEhhSMXoqIpKSkXuTVqRQrei+cV+rqg61Vm4SJnoIeUiE+53s+Pd6h3YrWhH6TyKf8S6n33Bm4+ppJizmYzmJ05qYuSE48grd21U3H3vC591+aL+4eFFImYa1A/u1903f01Pe+nLq94LA6ZYYnHtFIt5N4xw+f08RRMb6pqP5Q/7sS/J+za72q+UzM7OOiBs9jpbCzHDi3tKkQPATrHGJZdc4tYVeuSv/uqvXGWf4cCaAxM3f3FoWDBgKjf2vBlFFN7vsLHkWJDVeofq9ZgAC7wNjmUlmYRU6rmOorCOF+k/Mgtd6u7qVzZ7UqNj31RH5y5dffX1TeO7Q0xhY2mTLK23oi+mlDq1QdPav8iJp5TzlbKaVbe2KBXpVrowo/XJDvXH4i7fNOzWzOKCP5nLarAzp+libhmUkEQkps5oUo9nRlcA02wxrcRSZd/K84i60nSv9UwYB6+c5+8PefGsvCGvRpRSzZN/Odv8BSrARhE9oWKkoEhhi6KFLYroVEMjlXeAU1GE9yKaPnabtvR31D1ryfJzppgxSCz0afm5R+66Q9//xk1Kz81q/x3f1dCmzbr2BS/SwPpTSXCTI4897EJzvUNDy3sfYlpCd/sfuE/X3fASxav0IHFerOuu3q1KdgwoPX9SyVT/EhffotfRO3Q61U49uoF7AVDQ/sDeNe+yVNiv0V66GUKW3d0tpVtaLfHeB54VBRYUbEDoihFES4//b9c8lGcxbJRztUY4m19Saux5M/qhDJhYFFSW1Tte3aZqVhILD7KIKaSw+1Avc0MhwlyVogp5+NCkmek5jY5Oav3GpLZupMat+qMOcmzepwAEIIJGypiIGymc6NVOFZTTgkaV07zzlLq0WX3aq90dOT00N6vpXE4XdnXp3pkZPTg/q2xxMb1/QVePyOcfmY+U9CIhf/XKhmivHiweVaF46r1ckfbeogZjpb1JC3l19/Zo/c6NfECzJxdHaRPyY81YCTJKup6xI34lNjU+psOPPqLMwpx6h4a17bwLVkypJUQbK+xUsUBDI3mk0grsWG5UB3JHNVWc0YmeY1qnTRrS6fkzWCLGjjyuhbkpdXT3a93mvW7Ehj8/52WisDCXFVFoflYH77p9ESxSKUdBNHLwgG759Mf1wtf9zGlTdt1UgRLXHo0t5knd4M+gHlM8pQ3bn6bRI7cpMz/uqvJi8U4NbbhUPQP15539x7J9ik6oFPardVhk0Iq8M00w5Ngj6Aq8Srwl9LxRk3HvWEvcV6/hvOYek1kE1YDJxjtQ3FBq7HkzPCbzdkBywnYcp1aLpVrxgzcMWap6rf7iiYUlxuucy/dQfbdx4yZ1kFco5lzPTzWpFsozSn4MBH/FYEMVfUpoUBc5LymvtGJKKrHUZ7OrI6Hr+/p118y0pvN5bUgltYHBa4mM1s/O6QWDwxopJHVnOqmx/Kxjj0Dml6r2zlsqNzfZm9yoh7LHtC93QsPRXsc4MVaY0a74Ou2ML1LwlxKU+6PZ/ZouzCoeiWnbwGZdtGGvLtJFTomgkGgjIOzrHeURpIDAf98OPfKQ7vnmN1yvzuLNlZ647we67oUvOS3HsljYUNoy3587ojvT9ytTzKkjktRI56S+rwfVmevStviiQYHMTJzQ/d9lMu7iyAGku2+dLrn+JeruL31PUMzkCbwEvDf9+0dcniqWTCkPtyHTZru6Nc0sqocf1N4rTiW3kQ3bdiiRSrom2Y4lJcx3kW/adt6FK/qWgoy9SHUNa8veG1wRRKGQU7JjUPGlEN9qsj5UqvbDgCPyUmvYb/YsASbY0P/X//pf+t//+3+7HDR5JIxZZ0zEYssghTGPTgGskDX3EznBSk22RsdDRzs5GHI9pVzkRoGJBW5MuMwaMU63WqUSsHB+hL+wqAgPlcpZ1Q9M/SoU0m5B53JZbdu6VZ1dixZvxCXLg517OXAh38Ai4xpYPP5qoUaAySShbnVoaBmU7Huv7u3Xjes26kVD6/XK9Zv15m279IKefm2JxJSIRrU51qendOzUbCGth9LH9XDmuI7kJnRFcqsuTJ5SwEh/rEsv6L5Ml6W2KU8fkKQnp3br+V2XutBfKTmUO6Y70vdqojClzujiPX0g+6i+n37A4b0V31AYwwRbQpvcC4wPxgHgGWOM8GyqTbClMu3e73zT5Vo6enrUCXFrV7dmJib0wPe+E/heZos5PZjZ5wySzbF1Goz2qS/dSZeYHs4+4bj1lsvIp0aUXphRZ++gAyL+nZkc0SN33RTomZpHmV9YUFd3t5J4S4zeWOI4TGfSeuj++1wemGiEfefgxk06/8prlEkvOA9xdmpSk2Oj6uzu0RXPfE7gQgvvPqWsvKN7g7p6tzQVlOxYQaoUrdoPw5awH2XUJP7pJyPsx5rAwKMYyarvygFTxHcP/uiP/mjZu+BFtAWBEo0cDc+T/kGGCHqFniJ0Gu8/73nPcwaUV+hhAjB4jrCV85xMMHJ/8id/0q1zeirJB3ml0rE5P5p0uReAEKF/7g2GDfeT78ar4jtsFlNbeEyVQIWHw6Y2doVKIZJGgMnGSFgosNbKsiDnwQLkGNXYEOqt6pub7tXJmWl19+apa1M8mVVRC4oWhxRReU8giMdks6VYlOUYKOoBJhallcRWU0KDiYR7mUz6kqpP6dytbYlBHcyedEzlG+N92p0Ydt6NX9bFeh0QzRcyLpzHfKdyQjjw8exB950bYothrI5IyuWpjuSPa7wwoXWxU14MyoKqR17eAoIjoyO6/7FH1JvsqEiXNHLogGME7+g6pZSc8ZZMauTwIfeePyR22jkXizo6uk/Thx5WV6RTuU0xxfsXh/MNqEfX9V+hzuSp79h98XXasO083fmNT7mJt9FoTKmuXk2PH9Pc1FhZr8kvvYOD7hxjqZgLx7FfC/mClM9qeMNGF762ERZ2D65+3g0OoB675/uan5nWui3b1T0woLu+/lUtzM9r4/Yduuja6zW4YaWBsRaDAuvlyfN7lyh97gXMLoTFUdjeJt9EIuH+plRLCsAGrZCX+gfwf/GLX6zf+Z3fce9BI8TQPiiDMLIxhuld+vd//3enexjqR7Mt34UeYvYTwIXhyXOB2YGGXcZTIDTV8ndErcgz0gxLJIDvrHZsHAleCGXiTMClNqCatAUwlSoZ9489r7Yg6gUmI3pFkZCEo56e76m3FLSUx8MCxEJiYXKMStdSj8dkpeYXXHiRIolRKQbfXVTR4k7FijsDzw/yg4u3KrHabKlagMnLZcjP3ng8/1Yr0qCqLhfJn3Z8gIlXUCnnIXklHyloujCvrshKQwJwmihOuWZgqfQxXY9GR1wP9Rf1UCqm3OYBDWeiKs5ldNJDl0QYA+OIe7H87P1AzX8XCouKvoKQW3n4zq9r34O3S5lpF+DNJB5Vx0V7VExFtKNnqzb5wps8ta7eIW0/70rte+B77neAU66QVz5XPV9qct5V12js6BFl5ueUSKVcKHIevreBIV311Kcr1dl1ehHFzIyz0i969gucUr7vlpv04Pe+u3wOj4zd6XJtz33VazW8ecuaA1OjrA+sCQwxXhb2s/tBxR/MNX/5l3/p9gFK30+6yj73Fgsg//Ef/+E8E1gXELz2P/mTP3GUQ0yhhTbo937v95bB7Jd+6ZccZx1zmPCOmGzLz3gzCECF109kB0Biii7Pip9Zr3wn7A0AU7VjI6xvwBcdCEce+aZq+nXNgclPS1Ru7Hmzy875OxYCN99L9Fpvk6n/PPwKmNJIG/FRSWoBplL9SY8//phmZye1YeCKmgfaeUN5XhLWa6+9dplcsdHztnAmmxHLicWO52TD8ThmOW67sfyU7s3s05HcmGY0o65UVOcVLlRvtPrI+nolWowqFU1ppjB3WqgsysD1yEpwo6jikYVJPbIwoal8Ro+lJzRXzGprokfJaFyPxeY1PdSpH997pbpzi4YRaxDwZz32usm0UWUWFhyjNsIzyaXTTjGnSowR8MrxA4/oiftvX+SR6+tTuphRYqGg+QceVWT3Zm3sXLdYcOD7HPcYr8mAiWGDyc6ewN4SsuuSy7QwO6Pv3/x1ZRcWFCkUNExV3gtf7ECpUhEFr0fv+4EO3XWnK5rg2gkHdkQimpmc0L3fuUXPfsWr1xSYVuNYfgotq/x8//vf78CA+4SXccMNN7hwGp6WXycSGvzRH/3RFb/Dq4E6yN5nbLn/fTjzXvrSl7rIlNeLATTg3cMDYi9CO+SN8GCk4s2xZqsdG7F7Rqibijz0FYMPMdT5fgwTqhj5ty2q8vwVdZXGngf5jqBxYC9bhJ/5utFclSlo7zFqIZMNquDL891xL0mJ1/5oDZSx3qlKRKqRsHqlmsdk5K7cY77XwpamqHD5vdx2KGo2CZs2OdSl2zse13hxWgOxHqdc93WM6Bvzd+uHuq5xyf3VkKgi2h3fpjvS97nCh55Il7IMkchPaENsWOujgyuu/+bpI/rWzDEHUBO5tO6eH9V5HX26IJVQVyyuwVhKDy6c1P0L43pW71ZnEJF/IipggxpTg+s0dfSwAyeoddiqFAJc+OTrqhpdx/c/pGIhr1TnoGLFnCYK08p25hSZnFNhclSpSLIkKCGMyUjPTy+F8+LaceG1isWD31e+5+LrnqpcqlO5uVlt37nLlYtXUuYrwlyT4zoWizlvK5vJaiG/sGgsRSI6/Nijrj8KVvG1BKbV5sljrf/yL//yMkBBvPqlL33JkaKiRwARyvdZawAVhQXk7pjH5BUKDdhv6AeMfP/4Ce9k2kqTazmfapNtKx2b50sEhJA24UJysRilXBc60pwJImQMDHzJS17SPsDEiXOyFDiUG3teTezvq7nbWOeAH4oc5eivBGwGMHHDqewDWEsdo9p1VOvrqsR31wglkn2Wcy83IbfSZysBE88XsGPRGrmrd4JtJW47NumtR+/Wg6kj2hIZVr47oe5iQsPZHh3OjelA9oQuSNY2wr4W2RXfpvnCgp7IHdLxwpjLW22ObdBVqYsU8+SwjmXndNvsiIZiHRqMp/TIwkkNxpIay2V0IDOjizoHFiu4YgkdzsycRuFjJeeuL+zB+/XE/fdqdnoKOg+l1m3U8ZOTykXj7m/Kralses4VACAwsQ/F+p3XtBDNqX+mQ52ZJLR6JeXkiUOOV25wYKO27L1S67Yu5gb8AjXQsf2PuWvZtOu80xgaovGEBjdv1bot1SMEXoklEu47U8mUIqmIy+85g3Umq2wup1u++c0VvH7s4TMtlFcrs/hVV13lXoTi8FCYZYTnQd4XAINktdp02VL3qFWTbdFNf/d3f+fSMoQKCfXBYl7tPq45MFmCGOVDrLIWJu1ywFRtoF85rrhmsIOjSLEWUC6lytqriS2gctZZEL67eqvjKHfmuCygWolwKx3Xzjkoe4aJN+yzb25S2xei6l5IOKvRKFsWJtLav3BEe4Y3rdrcJSiOLktdoF2JbZopzCoRSbgqt+gSACxfZ3ZOc4WsticXk9YwVFBc0RGJ6VhmzgGTO+dCXn2xlcDivSf8vPviS90Lseol9ojRJXUmE8pNTSg/P6ee/n7tvPgyrd+6TYMbtmvk8OMqQgsUJdgYVaqQUF4JJeLDyqVzJRUsxxjcfJ6e9tLTrWPofvL5BcUSPXrotlt177e/7irpEKbKXvHMH9JF1y6ORWiEXZxerbtvvskNQKQyb5EZZLEg/uJrrtOl11+/7E1bEYXlaMjZrDZTPMdq5tDBSjIzM+OMOK94Cwnwmj784Q87z4WoT6npstwnQMOMRu8aq2WybSmqt2qft2OT38ITgnHcKvowqt/2trc5I8NbULKiEVdrLCgsXD7yL/WCUrURGvwOQKK5Cw/D/8CbwQ5u+R4UBxvGFlCtUg6YauG7q/X8vXk9pB4i3HITbLHycPcrnXMQ6YqkVIgVl8et0ydCvH0+ktH40RHdcv8t7vcWr1+NKbY90S73KicoUWOkcDmbRJd6Y0kdz86pM9bjwnsncnOuxP3CjpUhwErCM7XrxuAZO3ZUN3/q3zU3NbX4rCPSw3fdqfOuuU4XXnWVG6s+MzGqeKqDL3ehub7hTZpPLVLzYMmixFmnRqJZqik8n5vXyeO3a2H2sAsPjh+f1Q++/Zjjn3P9VMWiA5Hvf/2LGty4WRt37G6IXZwRF1c/54d0501f1uzUxHLzLYB72dOfqc6uLvdcvUwUJNTZ1/QLAU7mTa0Gt2Erx6rPzs4uFyOUExQ7a4d9RdibWUgmhMbMs0a3sgcxCmuZXEtLC/fx85//fMn3vZ8vd+z3vOc9zmOiWAJ5xSte4fJZPDPOn2dU0kHQGgsbjfhyMxZRKWAC7SlhJNdD3qoSKJX7jmoCsDLuAfca9txG+nm8wGSC0rjjjjvc9xMarKTgawUm+24sIEuA1nP+fmBC2RG6Y5HSOFfqnGtRXrsSm5ynQgEECp6VO5VY0PbBzXrB5c9y8XeOAVjddtttrroJsKUishwjSKFY0EIh4/5thuxI9WggntKx7OLguu5oQhekBp3HRWDqkfSE86Ce37tde1P9dd+LB279ttKMRICAlZBWb7/7/kfv+J6+d+vtig2fr54NKKGIm1+06+JrddWzX65oPLl8HMKoABT7oxQo8SzHjn5bc5OPOVaJWLxLR584rlyGcvVFhm08ss6eXgd8T9x/z4rP1rufL7zmWscScfkznq2Ln3y9nv7Sl+uHXvt650GV8qb5lyIp6xXimsjtkpTnX4wtftcMaWXYcG5ubkWDLXuUajqvkPog/2uD+bzinR5r02VLvQ8lEADCXjFhv3zmM5/R85//fHdfqVT27iHCcug8IkKVvts8J6siZM1x//id5a3Lrfs195i4+dwYLrRR8YNKLWXa9YbysNrIWWHNEvtlkzdS1XcqEb34HYRwUPBYLv58UrnPBwUWI2HF0gQ8vJWRtVqG3uOyqfheEp98bzPCH9vi63Vdx4W6O/2YDudGtKAFpYpxXd9xiYZivYIiDmsa5eSdYkufCKEG4zGLZNKanRjXSGJeh7cVNZXIqS/aqSuSO3Vxcttp4blaZDjeoWf1btZNU4f1wMJJRcDPSESvHjxPl3cNKxmNalOi+7QwXi2GACG04/v3KZ5MOGBA4vGYYj29znvZuXG9+rds0/j4JmfIcC+ynUMan5ypCQAz8yNKzx5TPMFso8XzzaYXPSE8Keh+KGG3Stb5GVoUmjOPaWjjJveqBSxKMVGgALHMiTQYG4f1CtXj+dTbx1SPzPqYH6jqBQBgTqDEGyChso2BgXghb3nLW1x59mte8xpnJL/jHe9Y9nR+9Vd/1fUaEbVARxECRC9+5CMfce/Tt8S0WvqWyFuTzwJYzGPDoOdvKGPH8KPH6Y//+I/de9WOjS4wnWU6jWhHNdquNQcmpJlTbK3Kw/jcap0AW8u5ELbDavHmThz/Vw2ktH5xcfUlr6daPqkRj4kNy+L0UjyZgmzEY0IZAKS1GANB5dLkLu2Mb9RIfkInFyY0PzWhPYnNVUtw2RzHjx3TnV/6b02dOO5oiPLRgoqdCUV/6GKNbMvoi3N3uf6oJ3Xsbegcn9S9XpsTXXoiM61MoaCNiU7tSfUpGa2sCAMz6xfcgIsSs5gWJRqNuHJiXtbMyTMhf2iWt92bSnRJueyMioWcIp68Tf9wn8aOjrvqPfqlYPFmrXGc4c2nCh3qXfu1ivV9+deYd5wH65s9aYSrgBRGsBkq/paEdil+mPUNCUSRMx4CFgVKvzl3eod4ce7kcWiE5YWueN/73ud0H4JHyfC/173udU5nEXWBncE4QPHEWB+AFkYcs5LoZTJh1Pqb3vQmV5iGEUtFHdNtETyfSsfm7+lpAvA4Hv/yPChVd9W2yaQzKAkt02fVVuXizZhii7BoLKyG+17PBNggOSbLWdnD9DJF2CZxBJR1JuN5OPS28P215maCcPXx3cSFWbAsNu9xkXo8Pj6Lq47iA5DIAwT5TK3SE+1cesX1RPFUZVslYeGf3P+45sdH1dHVqZlI2jWqxuZyKnzhfhVvuFC5wbi+l39YFyW2qivW2BTXzclu9woqtRgC9PdQ7XbsCbymU6E5PCn6fzZs31mymRPjjPAWVrBVwPK8vHk5lN8yy3eiW5FofBGcYovgtPW8LTry+GHNz2akyIL72/T8nHoHh7Xn8mtaHvKy+1btWH42DnSDEa5ivHoHBlaqeGx1jqnHx/yAsqfZtZTgUdG8Wk5uvPFG9yonNMXyKiWAiXlXtR775ptvdp47xiFeLC/yThjd9Gnx3xhPeFHPec5zlj+35sBUqWihVjF+MhYX7mc9wFDtXFjUeAScN8fw9/h4+6nqEQsFYuFVm59Ua9k24E/cnfBgKdC2DV6rx8T5sshQdDTjNkLpVIsEPc9CPq99996jSDSmaAJlm1EimnAKN7qQUc94WrlUVI9PHdBNj39T5/Vvd9eQLeSUcxOgVl9qAenLn/5sN+uIkRHOECkCBDFdeO116hsarnivUM7GiG10Sdbki0I+NcpjUKnO9VqYPaqYGL8QV6qjqMuetleHH1/QxIkpRxmx48LLdNWzX7CiZLyRHFMtYnuslmNxnzFULOzLd6AUuQcUCFDxaISr3AtvEUUrAXcWxoyzYHotVYO8apU1B6ZmjKwwxm4ULsk8vIx6QwmVPA4WL/kkNjbdz6UWaanihaBi+STOHeuoHnbhcswVlvdB+ZTrrbJ7VgswAUbcE77fFFsrpJbnm8tm3Qv+NuPidiPHl76jI0rfzbBS+V5dmLtAMycn9dnDt+hwYlzwyR46PK3r+y/T9p5geY/VFhggmPD62N13avTIYVcYsOvSy7Xt/PIKwMsrWGreUqm83GB/n3pTcypmZxSJFF2uaet51+rSp17tmn/JMRmjg/9YrQjl1QNMfrH+MZu35mWiwIhzZfRLvVPoqFb2MXWfBezi9UpbAFMldvFaBgfa0LZGNkUpj8lLXxSEM66eXihvPomS8GYCqwFqtbxPraE8XHDAjg1EDxrHaEeBSYDqtfHjJPOTSkbiWihmBd1eMVLUxPCkpgpz2hnfri396/XlroOayBbUM9vnrvG+zBN6ZP8BXTe7RzsGtgQeZxFU6lHk/cPr9KTn3VDTMZByxymVl3MKeqxTU5NHlYhLfQOblIxsUS5fcIzn5aTR4oegYuu0mccqRbjK/iEnSzSDijS8zkaKKOoN5Z1L0hbAVG8oj4eHh0HijLAaic1mTLH1MhJY+At3309ftFp8d1CRNMregLCxCE/w/dUA1fv5IB4TcWOACGsbOh3vOIOgYkUi9Ugt1YfOA73+Gfr2Zz+thblZt15QrgX6d7YlNbM5pt5oUpHotL6+8G3tz01qS3xYmTizofLavH6rDmaPq5DtVPHkYrgYJeXvm2pnqQZMflkZ7rp8BdFouem1Jq0KedlxVgsEvTk6iijI71DkhN7xF1HwAkiacS6FQmGZ+eFclTUHJh5kPcUPxj6OYqQqzgZPNWtYIGKTbMkjAXxBy54b57urn1bIFDafR4FQMl/LaHhvKDBfJMeyoDjTUpe46LyM496Kx2bMY1pN2XHRxe787vvuNzV9clzJREKZS/u17il7tK2jU73RTmWKGR3MHVO+GHVjLTJabGGg5LszltJsIqsLN1y4gq0EgCb0xRoJUu1WSlY79AXL9+SJY9q5bkiHHrpfXX0D6nejzouaHNun7MKMUl0D6hve6XJVlRg4qOAkzGe5KQwfe9/yU63MMbWqfNuMKPogzcBb9iqXBgIGLaKoJrOzs+7fsyHHdMYCU63M4F4Pg/CRt6qsWePVOYYBH53N5YYTVrueSlKpP6lRvjuO/b3vfc99R6kCjWqfLxTzGsk/opPFJ5Qr4jUkNBDdoWHt1YMPPOzAzs84Xi8w1VvpVM/xdl58iXZceJGb8/P1ws3KxyLqjZ6ySlMRymcdQ9tp350t5tUd7TgtP8P68JYjW7XbMqfbYLdiOqZcdlSRSFKJjm2KJ7e0JNSFkFs7tu9RN3gwFqUHKafp8VHNTp3U1NhdWpgbXfrLiLr7NmrPFS9WsqOyQmQ9YZDwYq0dP3zIXbsVD3BthKZNua4WeLSawBXxrtVSRRTe+1CuiCIoMPWEHtPaCkrZrPxKSgpLDQ+DjV+qYs3KxRsRFg8LDEu4lrEb/u+oBCzV+pMaASabPEnpL8BdT6PsRPQJTRf2uZHnMaWUV0bH8/frsQOPSFPrSjKO1woU/K0ZI3iOlpuzf1dDONbk6OMaP/6Qeuf3ay4R1ex8XNmZBUVTSaX2bFbnUErZYkQn8hPqUtzB1ER+xtEN7U1sqVqOTFjTvKnxsUPKzDyszlRO0Vhc8RjjLPYr1X2ROrovr6vYpFaZHhtxYOSXfDaniDqU6AA4Yirkc5qZPKqDD31De698aaDvZvbSHV/9ok6eOO4q9BgUeNkznq3Hjxxz+5A+Oa7NPAgUtPXONENaTeCKlDuet4gCNhvWtHmV/iIK7kWlBtPZ2Vnnba029187S7RdysWRSl4GDxmaGR4opc6lKlYaDeWxmLB22FQcox5QqnQeLE4saqwp8kks4HJEsvUAE/QrVoBQDyghkVhBU5FDTBpSKtKreCSpaC6pidFZRQdmdPV1l5f0wGoBJq7N7g+bz/v8jbeNfyvdg3o8pqP7btUT931BkyOPKjI2q6lvPaqp796n+fuf0Ozdj2rss99U98PTembHk9wI9WOa0Ghi1jXkPjl1kXbHF5t5oUQ6NpXXgZN5TS0sniMl2ycLIzpePKBM55y2bd+m83cnNDQQVzI5qHyhU9OzEU1Nz2pi9C4dOfzgCqqc1fKg5qeny76X7Fy/HLpzwJns1PT4QaXnT7E4lJPZyQl945P/5sAJtgxn0I2O6tb//i9lZ2dclAG6GtY5exVjjP2LJ0/oEw+zEYaUtfKYgh4PYCGaQ7ib+0C/I14TRRRMioXBn8gPBrA/yjMzM1O16ZemVT7bzmPVz/hQnlnKPCB/XBblQ/yWxUw9PDmlSpVF9QITXhKhNSw6HkIjbnQpYCmXTwr6+aDhTaZD2kyreiSSLCgfSSulxSKP+bk5jY6NuUWb7JPyUZTp6aEer/Vf7vlYnN6eEc/LWwno9aLccLylDdsMb2phbkIjh+5yvUzJZK9OHNqvXLqgWDyiYiKqXCquyHxOhdsOaM/5w9rVvUX3zT2iI9NH9eydT9UgtEcYSHMF3fJ4WocnC8rkiurtiOjSrVl1bLxXU8UxFVVwjN79kWHtSI8oEk0qmehQcgnLs9mc8rmTGp86oIcfObY4fnyJkBTAb7aiNdqi04X1sXKNcG/yec6vetThsR/c7SbVJlMdy8+Q2VE0+k4dXawq9TIw0NhLpMO8CCIGPOugXkS7jFWvl83FW0ThDf0CEkSCbDgmQDA9PV2xmAZPFBogxke081j1swKYSoEKC5k8D6ARZIpqvWXnNg4DDwbAAAQbET+w1Mp3VwswWR8Ri9sbYqs7R1WMu1deWc1OzmlyamqROqST+rSM4i4Po5qByQs6do0rjrv0394GZft7r4dlf1trRd/MxGGncFMd/e67pk/OOI65SCxClYdSkS7FumLKzM7q2P5HtPvSJ2tXZKMimQU3mDCjKc0WxnT7SFZHZvq1rrtPqbh0cq6g+xbu1ab0cW1IDSgeSShXzGq8cFzri3Pq0kplyzGjkYRTUHsv2OsUFMqDMQ4oKZvJZEwMjUr3wKAyx0qRmMLasEhTZJLPzCuR6lFqaTxHJZkcPeGY1P3jOhwDyOyMpsf3a+LotBKpbg1u3Kt4osN5x6Xokrx8dqcafKsXkJypQwK9oV9vEQVML0yOLSyV2wMOELR6mV8wcKEWMqOt3ceq132P1CbiL1zAakCZs1iDVsTV6jGxAAAkCh2MWghrrhkl5/Ydq8l35+0jApQsV2fXVo9E8gmlssMazzyu7EJEGzZuVCwRUUbT6otsVUqlJ/FWypcYuNRS3svfeZuVDdjse7DWzKsyhVhJSdnwvMUTWv4/R7SqCFV4xPOXvLf84josAMXJeR3X3UrrqBaKGfUOFXTNUEqzk7s1M7lLQ/3zmuoZ09xcl+IglZvDlFBntFcTybQ60mlFilD9LLFqFOZdEUQ8sVGxJQWFsP64LtYfCgqQMkVtlX71KGFGScxPT7mR5yvuRzSrhbmji/ctllAhB81QVBt3PkmxePXcRlfv4hhsvyHCfyeiae2757+XGpmhUerTeVe9WL2DW0t6EZRgmxfB9XsLSLwg7V83reqXWm0CV28RBUbxX/zFXzhQ+pu/+RsHQhiz//Zv/+YA44/+6I+cN4KxfiaMVT/jgcnr7Zgy9xKMBpFagMnGh9sYd7NOGx0U6P0ONli1+UnlPl8NWFBeuPT+qkFT0o0k1I/fm1V8a4+GtsSVj86oqIT6Ipu1JXZF2WdRDpi8gFJvKMTvTXHtWNgoNAO9aiG/3qHtiic6lU3POK+gq6dL0xPTUiKqRHwRODILsGYntG7LLh3NH9ADHXcrvWNMx4oMqk8pkhvW9GxUQz0L6h18TJl0vxby5EgLymZjKjg28cXjxRTXRKpTm/JxFXLkbBbVdCQSV6rrYkXjvqmv0ahTTmx6U9QW9iIn6Q178QpaaUkob8PO3Ro5ekSjx49p44aN6urrcw2yHT0xjR76gbKZOXX2rteG7VdqaPPFgb5396VX6LF77lI2nV4cd04oPpNRsZhXT39EiUSXm0jLwML0/KQev+eLuvwZr3MgGITPzgpI/HRJBtL8/ZnqMVUSnusFF1zg0hbf+MY3nDf55S9/2eV34J1jpAQREsbrIO0+Vv2MBiYrgMBKApDwYOoZLBcUmFjs5HugL8IC8C64egcF+oWHxnfVy3dX7hzYtCwKXrjRdKgHpSWqJlhhKAQU4DU7nqVsdEaZ4pzikQ51qhKjxoJisVENDaGYmO1ziua+Vk8pyH3FqoQ4kuSy35vyh/xMcSVTPdqy92k6/MgtTlH2r+/S3MysCrmi8rGi5qcnnBLfe8VTlRkq6sHc3UpH5tUdg8c7ovliRtHYuGLRdUpnmNw5qY6uEaVP7lY2k1R3x4KinjBnWoyV7lb3wPUqpo8qnxmTogklUpSLbzoNyP33BsXL+uTlZyAAlAExb9irsrcYUbyjU5MLGV2y9VST9cYdV2vD9quch0jxQy3PZ2jTZl17w4t159e+tEhPxDknEhoYiinVk1d0KVzNPaX8nBzf5NhBDW5YqSTLna+3HJ9n6s/JWKivESb/dh550bWUYyLs+VM/9VMuHfCGN7xBH/zgB1c0+bfzWPUzHpgQFhYbDlcSZV5PJ301YPIWUpRjwG60so8FRLUMlg+VffUQyZYDJqxocm4kIRmMR86qls9XEvNSWUyEFLgPMfWrI3I60wVWcSG/6AXEE2OKxcjJLeiyy6aVSn1ThcJlKhQ2rSixbVRxWIGHhV0t31guN2WA5S2gGNx4sTq6hjU5+pgbeLd5T1zjx8Z08sQRdXT1aOdFV2v7hVfq7tytLk/UVexVPArgRJUoxpWNZtTdtaCpmU4lUlKumNGhkzF1aId6Bh7TjKaUKCaVFQBd0I7YBUrG+qQuXvVfuz95jgFnYa+g3lQ55e2MwgChu1Ky+9LLtXXv+Tq+/wk3CqN/3YAevuMTmp+neMKbe4o6zymfra+Vg2eLJW5DPi0nQzSCn6n2s5Af92E1yqzXmln8137t1/TKV75yBQM3Um20+VqOVW9E2gKYaNhEoaNsYCmodwFUarD1KvVKhRTmMdVjhZlyZ1GxQeode8Fi8k8VZYEQeuQ7q+XcagEm//hzPLFKks0cUnrubhUK04qI0R4ZdfQMKJ7od+fY2zuvWOxu5XIox0WqmkZByWihsMIA5EpFAf7clPeFAk92DWv9juHlv9tz2elW8ExxSoklpot0JqreJcJX8lEDXQVxZTydiek+beqN6vINF6mno1dHC084T6lbvdoc26VN0VMjKEoJynxm4gl1RE9o5uSjiq87T7F4dSsTxVvKmwK0vd4UL6xrux+r4VUkOzq0/cKLlq+HMOn83OyKaVH57IJi8aS6+2GbaF5OhnXBtRPm8tMlmTfpp0s6EzymmZmZFcDENFnGTqCbmKuEECrDgCRi0q5j1c94YMLD4CYQumvEKjHX3u++GqeeMWtXcjHrmafkLdcm9ssmaSQc6AeWWofvBc0xsbHJU7ER8O7YDCy0cueey45oYeY7LlwXiXYpomlls2nlpybVO9CtYjGifL5LsdiMYrHjKhSq8wpWE8CImDrPDoOiFmu4VAGFgVSlcvSuSI/GCicgYtLcQlyFYkTRSFpRFRSL5NTfO614fljn79ypvmTKMSoczQ1qPDOvdDGtrfFhDcc3V1SI2cyMjjz6BS3MnlB3dEEjB8Y0eeL72rznBers2diQN+UvyTZFsdqUUfREbdj5JE1NfEEL85OKx5MuTEiP14btV6izZ3hVvJhydElUk/E8DaQaUZit9Jjm5uZWeBwUGHj5OxGeNXPnvvSlL7lBfa9//esrjlWnis77PoUP3rHqNprCxqozGZf3KAXnd6YL/WPVKx37jAcm8gXkfJpRDYd4gcmKBLycekG/I4iU6k8iV9MINZIBk43zYOEEHb7n/XwlKTf+vBKJazb9mIrFtCLR/iVPiGR/QoV8Vpk0oxEwAubV00O1VGMMHAj3EVDCYGl0Gm4t5eibIts0rhHNaVZzuYhOpnuUjOfUHaMEokc9xS3qi+5RfClk9t35ffrk9Pc1nl/0FOKRqK5Kbdfr+q9Xd7S0Ihw58C3NzxxzA/nyKiie6FFmYVJH931Nw5ueofHjT7hiiaFNe9Q3vDWw1V+qJNu8KZ45Da4W9vJ6U82SgY0XqNj9mHp6MlqYGVeys08btl+uTbtPVX41S0qBhZcuifeJxHD97COjCTJvEmM46H1tdY5pY8Dm/nYeq37GA1Mzee4Qm5ti49X9k1oriddjqibl+pMaoRTyfh6LF2CthYQ1yPEreWCVCicK+Qm3ZE5tZn4mqFVUPpdx9yGdXnBezr59B5XNRpdHBNQa1iTJz/VTIkvIoJQCKSireR1SOjKqaBHypE3q0CZFAhCalCtHd0Sdhc1KTM7r8fRDyiijiYm0uotb9PT+K7S9a2jFWPOR3Iw+NX2XssWcLlkqapgrZHTbwn7tTq7TC7svKektzU4eUCxOQ+2pIoFYosvla56477HlivYn7v+Wtuy5Whdcc8PKkvcavSkscDwI7iWKGsuX6zaQahZdkCNw7digS5/6zMXpt1GaqFePK68SsPB8CdnzMpogRxU1Pl4zXdJa55jKSbXR5ms5Vv2MByZjGG8Gzx3fxQ1m42Eh1jpePeg8JUZTcIxS/UmNlpyzCSyByEKqtdGyUijPmolx3VFSfqnkMUWjvcprbPm/i0XOi+QnVV0RdXQwHRRg26wNGy7S8eOTLn8FUAGsgBQJ7EqJUStQIaRI1SHhhlJSUEbjke8prZHFQuxIUXM6qK7iTvXryhXgUas39fBoVrfcu0WjY0Vt25hTrHdID4z2KT0Y049fllNXMrb8mYczxzVWmNHFiVOVdl3RpPqiKd06v68kMBXyi8URUZ83NT89r5mJGcXinUp2LComCgYOP3aHBjfs0IYdp39XULEogtebolcQRU1uFK8cb9/rTdTjIRhYuFeZ0vBmCceqJbRLVMA7a6nU9ZfzJlvtMfVUASb2SLuPVT/jgalZHhPC4sEb4Iai1Oup0KlUMu7PJ5VSnI2UnBO+ogCB6yDRX4+VVspj4r/ZfGxCayauFdQSHXuVzR5SIT+tSLTTdf4XCzFFYyklUyk35TSfh3H6Qg0M9GpgYJMDQAwE8ogUuViHPwAFUHlLna3hGWVhyddyMicKDU4oQYGFlrj2lNZcZL86ilvUofoT7bfum9HBI8d12ZZ+bdosdfTu045d45qaS+rBue26LLpbUS2CU7qQVbFweqFMPBJTprjIUu5/L5HqUzzZrWx6WvHkKQU0fXLC3dNEqmv5M/Fkh9JzUzp+4P6GgAnxszT09sTV1ZHWtk1ZFYp9mpru0chY2hWa1Eu+2qqRF0gjfUy10iW12mPqPoen17YVMDUyxdaEZjK+A4sId7LeapxyJeNB+e7qDeVZVR8KGy+j3o3gP77RFtl5V/JYKoXy4olN6uh6stLz96iQh5of73JQyc6rlS8MKJ/hfpN3WXnfOR7emY2IQAEAUsa6bArQBiQykLFaA+l85KgDJAMlZJEJfV4ZjdYNTORivv/wiLat36AtO7LqXn+borG0CvmkOjtnNNt5v47F5rW1eIVTwtsi/eqMJDSamdZQvNs1mhKDI9/0gu5LypD0xjW0+Uk6sf8WB04R5ZTLzLhCgUg07sJfK8Q1r55elluL+AGyUJhUdv5bKrrqyohjUe/rTmho6EpFL37GCm+CRnEs+CDeVCvZGJoJFuVyc9Y3xvWy3/ldM6cXlwOm3nN4FlPbNdjWC0zG2o1iw7IjHtrI5igViquF767Wa2EjsPiJAZOk5LOlyrYJ/5BVYT6SDe6r5vWwyO+44w63qYL0VVWbYJtI7VEktlm57JirworF1ykSCb5J/Y2jKECUH9fPc2RD8t94VM0q9Q0i3hDiFXuv0IH5TnX0fc+BUi7d7yoO09miEl1ZnYwc1qbE+eos9uv8+CY9I7tXX517SGOZOaUiMU0XFrQjMaxnduwte7z+dRc7gBo7epfmF446L2p4y7CO7nvI9fwY+So/40YNbNjR8PV572U+fa+KhSlFItzjqDuGinPKpe9VMrZlhTfhH+Fg3pQBlbfSrdUe02qsj1KkqxikXFtQuqRGZDb0mNoDmJB6ptgi5JPwBlikeAP83IzqPq/XUCmf1AwSVhY9HpKVbONNeD/PhjhZ3K+RwkPKFGcVVVwDke3aGLvUjaUod3z/+PMgm6eSx3SqQCCuRLJyOXQQ4fN8H14K54hHZd6UTQS1vJS/gKKjuFmZCGze+WWvqaC0+zmpxUbMWg0bm/a7PdutE/fPKBubUCTboVwhorlsUT3JiHoTHUrrpOaKE+qODrp7/eqh67Snc6Num9un6fyCLohv0HWpnVqv7rKzplwoafgCpXp2at+3btHllzxHhdyCJsfGNDc16pgY3Lnlc+rsHXIFEM0CJiorC/kTikRgBj91PkV1qVicdu/FPD1YNsKBF99jlW5EKAi9eivdeJ6t9JhaAYKsOzwqwIjeIf/0YoxhP11SvWJ0TL2hx9QeUo/HhBKzcmKScI6toAnj1e07guSTmkXCCihZPsz/+YniAR3K3+5GKsTVoYJyOlF4UBnNalfs6acpAv4bJcvG4b7QZBdUSnlM/nEVzaIXAvAp4SUPZeOqvaW+NENzHVZAATgZA0BX106ldVxpjS6ThRKSovghVQMweZt3CSFi/ZLZuuH8Dj0RibkcUj5f1EBHxDXTRiNFdxyMA28+6alde3R95y6NHrlXI/vu0vj8dzTXNazhrVepb93eklRJp+7j4s/xjh5d9ZzXaP/939bIoQfd367fdYV2XvJ0pbp6m+gxVetnKv8+30H+lhdGmtebMq+Cv+HZ+r2pZstacOUFpUuy3FS1uUqlZDb0mM7M4gcWP6WvLAT/jKZmARP5GEJgQeYnlfp8tXPw9lf5vRkvMBG+Gyk87IbVdS7TA6XcdNnp4jHNFcfUHTmliPkcCxuFEWRUSDWPyduUau83Ckp8J8ScFrosVYjBPbDcE8+Ya/IWUJC3WrdhWP2bBhTvmXNAQal4hzYHKhf3etsYBP7m3as2pdSX2akjhQeULBbUFU86w2BeU66XqT9yep/Jkce/o6OP04CMwoxrZvKw5qaPaduFz9e6LZeXbO61xklTsp3dA7ro2hfrwie/yP2+Wd7HSmBKKRIbViHH+PPkqd8XF5nPo7HgHJV+b4p9iSFn1Z/19g0FkVYWJJSryitHlwRQE45nTdVKlzRbQ7n42SptVS4eBFDY0BQI8PBL9fc0A5hY8ChOFlSQ+Um1krCSx+D7KdDAO6j0eWYgpYszSmhlVRR5pmxxVguaUveShwAYkQdD2UFBUisoeYEpW1xQrphTPI/FuzQIrgnWKc+G52cztoJuQLNSjXnbQikP3rHIssHGX7cuonXrTh82Wc5b5V6xfvAqS13bjsRFyuanNFE4rpnirKtrSKlbO2NXnxZCzaZndXz/7c6bgpbH+/tj+76j9VsuXVZK3uZe8mleD93rTTVTvMDk9lvyMmULk674QcWoA11yhbHkxYpE66sI43spWsFooPLT+oZ4AVS8b0q6GbQ17Vho4R1hYV4/1++nS+LF2vefP+tgYWHhnAemNR+tbmKbs1LiHWuESYs8ODqSSzWdNgpMhCBYTIQqsObriReXOwd+R7gD7irCRqVAietfiJ2UhiY0UTjkku6AUF4rvUkUCZoSLgKEIgLGNRPvxnqr15IsxLMa63tU30t/Vrel/1t35b6q8eKRpihKFBVeKM+PUvh6rUKeCdVTADs8XcyTAbTwwBgNALsB1iq5kFLrCaPmtttuc/ef7yh3beMLKd29/xm65ZFn6Pb9V+royLXalHueBqKnM7rPTh11gwhjsLt6BO47wGl+9lT/lwvbxePOuzCvkf82g8Q7Xt4Aq1HxFz9EY0NKdD5HseRFisTWKZbYqUTH0xVLLFLTNAMsrG+IfjSGyDFdmVAp10zvC8+A54SRUg9dUitDefX0MZnXD+MM653IC/eDvUoIn3tAKJscq3Fj2ljzHs/eANSYOov3SfTgYx/72PJ73/rWt9z64b5i6LH2vULDKyFH9sfLX/5yV2VoggELOayVxTO3yRu1wmh6yUte4oCWsO2HPvShFd9d7dhnvMeE2JC7cpYJIRyUOvkSHk65RVIvMHnzSTZKoF5rrJTHRA4DC91GYZTqC8kV09qf/64m40cU3zGtfblbHLt3d2S9Thb2Kcd4CaVcwj+taXVqUL2RjW6xERakgooOdyyzepRZvpjTif6HNB8/qZ7igGLFmGYi43o4f6tikbgGo8HYMyp5KAA+YNCMEAzrZawwpXxXQbv27HLXTugVT4oXBRSsKwu18FwJoRJigvGCtVTIjyiXe1TFwklFIt2Kxak63KaJTEQfeiiiRyej2tCxWUVt1t1HInp0oKhfuLioPp+xH40REiM/h2I+tTbtv71ziHg2KCRyE2xob5jYz44eZNZU0HvlX880TEdTi3N9miXlqvL8uSmek4W86vWmzrR5TJXokliT0AWZXuhcaqrnfjK4D+YGOOwo0qFZlmpB9jtgA1PDy172Mn3uc59zvHrsM0KrcOQxdPCzn/2sA0d+5u9hY0egE0Ln8Z3cR8Zq8DvohxDYzJ/73Oc6/juKPDgu3wtIonMqHfusKhdH2JTeBWD5CKyGcqGvRoHJ35+EJduI1+XluuParEiD4olyYSPkaP4HmiwcUjzSpcLcgpI9PZovQgMU0WBkpyZ1RBnNkyp3oLQ9dq32Pb7fWZ1e2qV6+6jG8oeVTkxJcwlXFUboiRDirCZ0NP9I3cDE5rOhhkGn+FaTo7kxfWn2Dh3MjrgenA3xAT236ypdkNrmAMeBTqHglD8gRT4Sj5tj8x5WYiF3WLn0d1R0XOExFTWhQv6Y4skrdNfoJXpsKqJLBoqKLT2udR1FPTgZ0d1j0jM3r7Twewa2upHkC7PjSw2yS6Me8hn1Dm5XR9fQCuJc1hpes99AqTS5t9ysqSDKuRUzi2o5DtdtLAxeJU00AdD2hrzKtQ20u8dUSfx0SawHlP8nP/lJ9z5r9IYbbnCeJoDx27/92+73FGEBAHhbjD1/9atf7TjrEICDiNJ73/te/fmf/7kbm84UXDxVhMmyDB1kOi0ErP/8z//sjFjj5YPzDoMNLjzWKLmut73tbe7eo1/e8573OHADmD7wgQ9UPHbD90dtIlbx4nUlcTVxeXEpqVqrBkr2PbWAChuCEBiWNcfAem2UUshLFMpGI3wFGy8hjVKLm838QPoJPZK9VyfzaU3m0yqoqGiEWT89WihOajC6S+fHn69dsadqd+yZ2hN5rh75wUFnbREm8Fop9Uyw5e9nC5OKxWPOO0Khj4yOLobDshFNFU+FomoRrGFAGS+XDdgM5TiVn9O/T9+sBzMH1RFNqjva6QDqk9O3uH9NjFkaaxEFANACjoszfL6l0RM3K5udUz5P2TS9KIuVb/nM/To+N69U9BQoIfGolIgUdWjllPKlY8W069IfVqKjx02EzaRn3XcDVjsv/iF33RbK5F7jKVVjU+D8WUt4D1jb/L2F/KyAghf7pFrIb7WZxRsBC1PSrA/A+ulPf7rb6yhG1g5K2AaIelm2zzSPqZLwbCFIxVsZGhpyfHYMMf2Xf/mX5dHnrB+ABfB63vOeV3a0+Ve/+lX3vG+99VYXiiv1PveV7/fqDfYKugSPiu/GU/PuV8as0zZDKL7SsZshbeExlWqyJQ6LWwhQ1EItVEt1X7n+pEbpkWyzYPkROmJhsdhKCQvo89N36ub57+spPRQcSNnCvGLJgtYVckpEsOQLykcybrx5Z2TALYzbv3+HO99SYcFagdWs8ngx5RRs3wDVf4uKFEtubmFac2MZfX/s+8t9RdWYGaxpmHtMIrwWEtpqcn9mv47nTmp7fL0b4od0RtbpQO6Evp9+VNsTp6rKrDmSa8HwsPPOZk4qu/AFZbNxZebnnNeViCeUSMSViKe1tXNUmQJNrSsVeq4YUU+itJLvHdymS69/vcaPP6jMwrQ6ugY1uPFCxRMdy2zuFsqsR6FWmzXl/zvvMVrV+NqMggTWc6mQF0aet9KvVT1Ttj9acf8IeXd3dzuAYL3+6Z/+6fJ7/A5AYaItRVmlRqPb2HNjqPDvU97/6Ec/WnWsOu9TXOYV9CLhQyJKlY59VgGTt8nWqHksZ1LL4gviMVXrT2q0gMKsOpK6FGlUImE9mB3TV2Z/oKSSihal3iikOlFNxmY0mp/W+ninYpGEOiIDy9+JghtaP6iNFw5pJHJI/YVh9UZPVeCxgfzzW8qJN1Q0HN2iQ4UezWpSXepbjPMn84qqR9s7LpfyXQ5ojKLGQMpfBmxDGbF4sYAbnWbpl4nCostioIRw/M5I0gGWCQCOcYOiw0PxFrLE4wkVYnHFYlF1diaVzy96Hpl02jGl50f2KT/Xr33Mpx1IurrEw7NSb6KoS4fymo88rgU9oUJkQfHikDqL5yup9UqkurVxx8oRDzwzzgNFi/fWDGXqBymk3OReC+22UyivkZCXVfpxLO6rhfww/lZjeq15m60oTbdS8UiJe0hkB2CiYIGQWqnR5q0am17p2GcVMNkGIpdEGIlqDxRfrVINVCyfhNIq15/USCgP6w7gQAC9aszgj2SOaLawoI2JjRrJLmhbakpdsYKysKQXp5RVROsi57keJvPwNl04rLF1T+hQ5h7nTSWU1Nb4Hl2SvNaF/4KG8ryjHrjmVKRLF8Sv06P5OzRfnHJeBFV/26MXa1fXxYrsji5T1KAYKEjBcuKzRsrK/aRhFRAAlFZDUfREOt25FThvzwZeKGY1FOtd4XFzXiVnOUW6FY2tUyF/1DFZxGKEyGJKpXjugzp/ww49ffaEvnospX3Hk0qlOrSlL6GXn5/U+v57NBN5bPFrFFMmckjZyAn1FZ6ipFZW7JHfIl6PUvVOEW2m+HNNpbwpFLoZfqtRjt4qz8y8KUJQX//6152Vzp7DirfclDVil1PwtYq3sXy1pVJzbUdHh/OiPvWpT7m8Efk5/2jzWsaml3ufcHc9n7f3zipgYuPwMmqhei+wEjB5+e44RrlS8HrZwb2hQQo2gmwKL3yM5zrcf69PzCkajShdjGpL7Aqtj1zkPDxA4NKrLtFD3bdqtjit7kifK4TIaEH7cw+pO9qn3YnF4opq5+9VXF4mh4HoRl0duUGTxROuRL0nMqTOSE/Z8QFehgY8KZ6hKQ+U4GoA0yWpnfruwgM6khvV+viAoopoPD+tzkhKV6b2LhdbAAQAaann4ELHyatVXJhWsTijIrcrwu9TiievdcnnN2yVXjpX0N1HpjU5MaGuuaMq7h/XyeGTiscSSsS7FGVqsjqU17TmIg8qUWQe1OLx8PwJPVHwwr1qlXiBh71AdSIFOCSwK03ubYa0Ku9j65sQsUU8vNNr2Ss23bZRb8qO1SqPqdsDTDw7KxQxYW0aXReGvHd8jY0955rZl0QBvNcdZKw61Xh81v8+30Wej31lny917LMKmKyUGsuyEdQtB0y18N3VQ8JK1RebwUKDLKgg37E3uVFd0ZQmCnMajHXrZK5TI9mE7hs9oR9dd7XWdVyku+8+Nf58ouO45tLT6on0L4eyUupUrpjVwdyj2hW/uGqDr5fJoRS9EMUPQ5HyhSbz2aIy+aL6UosKjU2PsoM7jUULcJFbA0zZZBbyI7/SDAsWr+gVPc/Q52e/pxP5CVcoMhjt0XO6rlTnSFF3PXhXIDCIRgeU6HyBCrkDjtBUkU7F4jsUiZ4at7GuK6rnn0fOjdcOTaQf1FzipDKzBc3mJhSLLhYnxFNx5WKTKiotFVPu+fMiF1Auv7jawrOm0gtlQr6A3Eylyb3NaO5tVfWfd/2WK8cmhApI8Rz8lX61eFOWy2rFdfmB6Vvf+pYrhPDOROJ6eJYUI1AS/uxnP/u00eacK8+cCrwXvvCFK95/5zvf6SJS1rJg+V9AnYIJ0g/oYCoBvTmuL37xi06/AZQ2sr3Usc8qYGIDG9dWI+IHlXr47moJ5WFFWGmlkbDW4nXtSmzQM7su0U2zP9DJ/Iwby50t5jWc7tXVhR1uoWDx2PjzE9n9i+fomwoaU1zp4oIL7ZVjCPeG7uw6a5HpdEE3PZbRXUdzyhakrb1RPXtPQl3zR5aZLKz0lD4L7o2F/DA82CwW8kM5lPNYc9lZ5TLMKupVPFE6rLEnuVm/kHiJDudGlS8WtDk2pCP7Dunhgw/XBAZU49XSVNqZ6lY2mlCqv5vphMpmsspkM1qYX1ChKB194gFl0gUXSjQwWAuxXiksX/JrZuxVKkcvZbDU6k21iiaoFDB5hd+jcHmRpMebstwUYT/O0UCqGlXQWk6vvfHGG/XWt75V//f//l+96lWvcudu/UYvetGL3FqnydxAiuZbSyUwbfY3fuM3XOiP/fjXf/3XLgT3nOc8x73/xje+0VUCMqWWdcCI9V/5lV9xawVwQqgSZLQ6RQ0A1bvf/W73e6bYVjr2WQNMWDssjkaHBXqpjYLkk0pJUFBhEfEgeNj+ysGgvURs/Bv7rtWe5AbdvbBfC4WMzktt0tzDR7R/7FFn/XlzJHhKcMHhIcUji8djUWWV1rroluUck//YXk+pHhLWXKGoj9+zoDuP5DXcHVFHXHpgJKcfPDGqZ/Qf0Yufdo3ziLzC/TAeNbNgASlAjDyUf6otk11HDt2smZMPq1DMu2vpGbxA67c9yzWw+iURiWtXYtNpDauryTOW0EZF1aWCZhWN9CiZSiqRiikPE8f8Fh2dnHPrzYYeWnNvK0d4sP4xljiPSmXptqa87Q2NNve2uvov6D1Fv3j728ybCkIVtJbTa7u7u12DLIDx5je/2Rlcv/M7v+PACfn4xz/ufk+zK+0on/70p5eNb/qNADKAg2vFc7I+KYR+I8CGKBXXB9gAgl4PiJHp9D9hcP7Zn/2Z+y6E/6507LMGmJBmMoMHzSfVex7GRFFupEQtXhfez1Wdu90Lwbu7N31E23Ztc6DklXWxzRqObdRI7oiSkZRT3nhKcSW1O37x8rH9RKxeLrZ6FOSjo3ndeyKvXUNRdSUYV1HQXPq49s1GNbf7UvX3l58267dguV/+qbYA03D3YUVyhxWNJtyrWMhrauw+hhJp464bKo4NwaAp1bDabIkqqd7CkzQdvV0FWUNTRPHCkPbdH1MiEXNgwD0vx0CB8lstC5z7Yd4pHlsteZVmNPe2qvqvkVxWLd7UWkyv7fKlMijwoH+plNDzRaVeOfnFX/xF9yolRGDe9a53uVcpAcRhdCgn1Y59VgFTox6TgQohsKDzk8p9R6WBcsTuKzFR1FNA4R1/joVnjMVeAYiuSj1Tj0Tu0bH8fuWLeQ1G12lP4jJtiG87DZjKFTnUKqNzKCc5UEL5HTl8xCm9vdvW6+hsrObcgn+q7cjxA5o8cpvyKETlFIsVl5quY5qeeERD6evdML1SNE94rPXyGtYjVN4NFJ6vTOSImwFVyHTq3tsXn9lV11yxrMTKMVCYt3hqhEdzKpmsPJ77QaFDI8q0mjdVroCilR5Ts47j96aMeJXwFd4Uz4frtR6j1QRegGlrDWNqzlZpG2AyhnGquuoVFpVVkngpemqVct4Ov6OAgiQh1rk/dOXOoVjUzZPH9dHCuArH53VNfkI3DG3V3s7KuQaz/C3siIIpB2ypSKf6dbEeTfcqXchofWqT1neccqEtlOe1dBudoQQgIdOz8zpx7KgLTa1fv05PnCxoY29jiWGee39fQjPHI0oku90wVc47m82pUICiqqBDBx7Shi2XLIdjzSMmdFCJO3G1JKYudRbPW+QAvPPO8mXpHgYKXmVHeCyBFP069VwLHiisElj4dPQ3+34Ebe5tNOKx1tV/Vsxj5KsYP3hRFPPcfvvtK8ZY+IdXNkPCkRdtBkwID5kHU49480lII5VQ5u14vQC+l3wSC5fEYLmQ0UdPPK6PjzyhyWJafbmo/nP8oG6bHtXv7bhcF3WdDmTeXBUKysafV8pRfXHicX1w5B6N5xecEs8WHtbFya36hXVP0hUDHcvA1Mz+iwvXx9Ufm9Odj03q4i1DWj/cr9G5orJ56drtjZeExxPE9WMufAfhKeeMEoBrDnCamErrsf3fcd4A4IRFizdMUrd1ow9yymdnFY13KBZLOS+IUEatHIDlRnjgSZ0a4bEIVEHITA2kqUJsVgNvrSE//gWkORfOv9zk3mZJq8rSWW8YoAA/Xrnfm+I9Mzqa4U2F02vPohyTN5+EYoevqVGuO5vaykJDAZl1XomE9WB6Vp8bO6T+WEIDsZQ6Yin1dvbovrlJ/cfIfv3hjstPW7jlxp+XA6b96UkHSpliXrsTQ7p3Kqdj6QU9rMd131inbujbq9euSziwg1SR4gJejZRqcx+OH9qnS6JHldx5gcayHRofKai/I6IXXpDUk7c2voySHYPq6tuh2cnHxWVHIrDN56RiTr0De3Th3mc4JU4ojBwc4E1Ileo3q/JbrWmpXP/kyPc1MXKn8rkFRaIxRZPbtO9wh86/4OLl6buNjPDgZWPLWRNwIFqJs1UylipxxnvHIKNfC5ButdheQKFScGH9batVjr6WPHmlvCnLTRGpwZDyVvrV400B7l1NZko5E6XtuPJqzTGV6k9qtIjCy3RObw6No4AGlnEl5f7I3JQmcxld0tWv0QhNm4uJ4I3JDj0wP6nZQk49S+MP2Lj0PRHKKTX+vBww3Tl7zHlKF3cM666JrE6kCxqMp5SIpDVXPKbvjm1XdyShX372s53SIlxkCUqrgKtUqu0Xb8XbS55xlVJdPdo3nlc6L23pjWpdd/OUw8adP6RjT3xR89OHVCgwTTWmrr6d7vfp4rgOjN2rKU3o6muv0XD/lmUlTqjFrFcvA0WzPIfJkTs1dvRb7mcAE8qibOZh7d68o6n5AO9oiGojPHiGKETWPuHBtcxL4EVguNkoBhNvAYUZes1q7m0HZnG8KYwSXvwN94E9R9UpoGXrsZYR66HH1GbAhASdYmsLE+sZy9Lfn9QoMNkipNwXxQ4Jaanx335JLm20vIqKkAhe+n22UFAqFnM9SnbuRvBaagpvJWBaKC5e12xeGs0U1BuLKB6NKFqISpGcNqci+v5kTuP56ApL3NgZrFSbzWLeVDlCVguPch7eijfCeqshsXintp53o9Lzo8qmJ5VI9SvZOayx4h0azzyg4kBO6zckNRf5jlK6Uv395y8rcUKtlrchzGIDE7k+7m+9Sozw3cTI993P0ViHctmscvmIEvGU8pnjSs+fUEfX6WPWmyFcQ6kCCowZrpfnSvFNMwlyaxXAkTWCB4HXH6SAohneVKuBqVohibeSz+9N2Yj1IN6UFVic69I2Yy9qARQbH4Bip1CgFAlrI9V99ll6Hfj+IKCEXNE9qC3JTu1bmHG5HzeNtpDXaC6jp/VtUEc05s6dyZ1Y+3x3OaXCpqNE+19vn9bff31Cn7prRgdP5nR+alDJSEwTubTyBbmxDHhmaWW0ITKs7nhU6QLAdarBFrC0Mm3yY3ZNDPtipAAhPwCLc1oE/HF9/OP36q/+6ku6++5Zbd584aqXYXsl1blOPQN73b+TuUc1lmHwYVGdyUElIj0qKKdx3aW0To3iAFyxXGn6o4EQL4JrwZOCUw3lSbWjTQoNKjT6uvBdJK4sU2XzeXcv3OC/Yl6ZhfrGgdQqVkDBdXGd/Df/AlCMKeAFYGGx10OnVY+w/7ivFH34QancNaCgCbnay8bd1Dq5t91HXpg3hdHMTCUrjKGal5EReJhETAi5W8M7/+Ix9Xj6mDBGXv/61zsDC4/07W9/+/J9OVun17ZlVV41QAnSn9SIx2QkrDYcq5Z4b188qZ/dfIH+8ciD2leYlrJS70JE1/QO6eXrdi6PVMbKpyGtUjjt/rGEvn6oqEhqwVXE/eBIRt87kNZPXTeop/ds1ZcnDygTK2osF1UkllF/pFd7ojs0slDUUDKqjalooOQ7C9Q8DTbK/v0ZPfpoXvPzCxoe7tPERIc+//l9euELyWGcYjBvhbBJD85+X6l+qatzYImBjoq4TuU0qzkdVEqnGw3GI8aLzc59ryVvs+K74sxpiiqby6hYjDpQWiTJzbvR9rF46/IBRn2F0sDT5jqQZhRQ1CqE0LmX7JF6miobbe5tNTA1ciyvN2XrmueFEYE3xfPBqMC48ntMP/ZjP+bGXWA4AixMskUnMaTvbJ1ei0SKrZogFmRM9tiY6z8qx7cUlO8Oenisi1qJM+EUY2Pz3eQtCOFRvlurHM3M6T8fvEdTuayu33uBru1dp6nRxZBHkFEec5mCfvdfH9V8Pq7Ldw2dmm90IqeLNiX088/s0hen9un9hx/TgzNpDUfW6fzYTuWyXW6e00/v6NBLt1RmNTfhe8fzs8opr9RsQv/0j9/RyZOTGhxMug3Z1dWt6emIzjtvg171KuYItaYCDm+V3NjmJ48o2Z1TXCsBIKtp9ep8rdN1NX2v5W0AYhQDFrw35Oe3jLHgH7r735WKnlA8npKiGBMFx1KRTA1q+0U/6XJhqy3GJME5sy7LhXu8BRRcI4quFiAOIhSfoNTwBoJGE2oRf3OvV0VZuI9zYI0AjKstKG/Xs7d3b9O/23JTTIdlThJGx9Oe9jQHSBiOcNVRVGLPjDUAKL3mNa9xf+ttjv2DP/gDB3IwOsDyAGsDAGNCYRgABc8dupFoggEJuhevjlwmx6MpF31lxzWgu/nmmx14VTr2WeUxeUNw/mbNSvmkZpGwYhXwUKCTJy/Dwq/X69qc7NLzu9Y5y+jyvg2uYgeLJ2hvFSG7iXRUW3tPhTK4H5v7Y+696bmofqRvr17UvUtfG83pqycyOpkpaHNXVC/YmNLz1gezkA9kxvTBya/oQO7wIsfedFyFjj4946IrdUJ9emiyqMmFvJL5KR2664A2bpzWrl2bmjpSoFyICAMERdDT3a0pPezGXBhrN+fKzykNNpS34fla3oYNDwiZp4ES533n4fZdou6ubi3MHlIxT1gvomRqQBt3vagloMR5YDCRtyBsUmlIY60FFLWGqPgO1nO9RluzmnstJGsEq6vpPXGMaoMxG/Wm/uRP/sQpd57LC1/4Qn3pS19yBKwAi3efETLFYyEcCBeeVwCzX//1X3fUQRj4n/nMZ057n4pl9m6l6bV4PqWm1772ta9dnl5b7thnJTBZaMsb062H764WYGKRYyEYe7eRbtY7+sJ/Dnw3yo+HbqGXasKMIRwTmnW9Qp7FLZUCmzSiRCymH94U1w9tSLmcUk88olhAsJjMz+kd4/+mOU0oEV2kGMr3LCj7sjl97449OnxgyJ1DMpXQyUJSs8lBLXSlNDl5cjn8YOGyRooL/EI40Vg1MBAyGnAhu5xmHB3QIixlldSQutTYfCOekSlpcjesARS4jatgY/LMduzcq97eq5SZP+5ySrFEt7p6YCFffVAi1IrniEKulWKoWgEFoGUMFDzHSrPDOD7GFQYbE5mDruXV6JvCuqdaFjqh1SpH90qrKIlYf8iv/dqvOaDCsPUP/CQ0xzogonO2Tq9tK2CyMm9vFYzlkwCLWvjuggITiUebcGrs3bV+RznhsywQrJNS488ryc6huDb2SEemItqycdF7zOWLOjyZ1zXbEhruPsX8jFCV118lxIZiOXwyq5mFgtb1xvWN4j0OlJKKK5/BA4mpIxGXUgs6tut+dR7aob4k11FULptWZKBHj84P6IXX7lCxWFguRSccwLVicVk5ej1zb/yj2M0aT6pfG/QsTeg+pXXC1ev0aqcGdJliDqiaI9xL1pm9MIbwzFFKFNqYp7F+/UYNdQ+1BJQADtYn65JIQaPKsV4GCp4NVFlWRbqaJLnVhHWH90jYCYvfS068WrOmWpXPMnKB7iXj25/fJtUA6ep//Md/OO/lbJ1e21bAhFiFjiVzCefUM149SNk5GxLlgyVJtZp/4dVCwuoXYt+EPLgeyqxrXdTJeEQv2Ct9+v6CHjieU8RNa5V2DET1oksWmR1quR8Ts3n9x20TevDwgpul1NMR1czV+xTpA3To0YB8lKXAkaLqGp5Wem5WE7OLz2N4uEPDm7t0YCKn6XRR/Z2nFxeg3Lz9RPZ+EA/XqJ6wGEuNYqfAYaOe5TwlzjG6isu21HA/r6eBggYwbEpqpXL7RoRNDiByL/EeV0Mx+otgUPr+Agrrl8JIJIxYbSLzagprjAiEf9bWapSje6VV7OJG4BorYYCw5gjrvelNb3LRl0oTZM/06bVtB0xm3VgFStD5SX6pBCosWhQoOatSja3NmmLLeaNc6l3Q56+L6tUXzynX362JuayGuqK6YktSg921PTLCf5+49aTufGJeWwYT2pyKamIur2MjBXX3FJWKRZc80SWgi0rxSFyb9w4oko+qIxVXX39Ko7MFJWMRJX17xsJdvKyfCAViPVMobS/7hP9+EKq1BmAUX6UKsqiaPw3XT87LizJYb1Lf62lgxJingQULUOFBGEhxHxrNvVn1JqFMPJtWUC7h5foZKMyTwlDEi2RtN6uAolZBH7CvqGa1mV9B2dHLDccM6k0F6WNqJjBFStxbRlKQX/of/+N/uP+uNEH2TJ9e23bAhJKy6rxa5if5pVwfEwsMi57vRwlWSt7WW0AB6KHY+Gyphx9U2DD9ybwuP4/quEXuvHqUwaHxrB48ktbWwYR6Oxc3Vzw/q/ij65TfcUDZRN4pfHyldDEruFoTczs0qy7t3hhzYUKqBMdmC3rxpZ3qTFbeyAARG4gXz8BCfniniHdQIM8bBYzSQ+G0arSAXyxUhfKrNtyPZ4Bi5mXDEK24wLgU7RrrIfk0/r1KY+FXW+waMSxQlBhwVunXyhEeJgAiXiyFSdzXIFKtubeWWVOtyjH5p9eaMCOJ/A3FELYeKk2QPdOn17YVMLFgaNLiplIx0kj3cymWchsJgAB61cIvtYTyUMCEP7B0bYot8fhGclTcBzwuW6y1KCju5eOzefc6MZ7RdLag7R2JZdAnZHb+4EU6cnhOsd0PK+sm3zJSPaLNsfX6kfXP1Wf7Y3psZBHc47GIrtme1Asu6qz5OeA58nJ8c75BgQjGAX0WawVK/jBiraEqLFLjh7ORCTbegufnDflV+27uDfelFItCK8UKLhAKHXiOgHWjBRT1CEUOGA2NlqbXMmvK7021KpRXaqzGRz7yEX34wx92LTBenVVtguyZPL22rYCJh8HFWgVSI+L3dozLi82D9RdECQYN5aF8eCDe8ee1fN4vxilG2AvXGVYGgM7CYdUmoWYKRb3v8TndNJLRdI5u+qIme+OKzuQ0MDPqQBQFc2Ja2n38qXrZFVfptuy9mi+mdXFqp57Scal6ol264LkF3X8s67ylDb0xXbAhoUSsfuudcwaEeBHuAgx4HpwPJapsSLvGZoTDaq14qxZGDCJekk9vyM9CYlyjKXA/qa7ltiqFqloh5sWWK7jwhzVLDXz0XmMjCt36pbDwG5kW0Ghzb6s8Jj/rwy233KKf+ZmfcevUP/cN4+5snV7bVg22CA8ARWzlrfUK/U4WlmFxs+GxQgmPBFV4Vi7snyDrFWMdpzrIP4uH9whfmYUSREqFGVDctvH5F+uVTc8iKFWm/enDC/rHx2e1viOqoUREmYL03cMLmj05r2fMzmjvxmFNpaX5TEGvvLZfz76k8pyoZooR11pPl4VleO5sHrtGrslLOLsaSsE8aKxQQkSrrXjsGi3sh5gCB8AIka1Ww2pQsdEuKEeUTa2g4i2g4GUFFPWwv9s6wVhdrX6pUuL3pvAImcMEOHJfVqMc3QTaHzycr33tazrXpW08pkYYxv1i3wG4YIkGJWH1Couv0nkY4JGc9iYBG8lRWQzcjl8qVOQt0+b8TLnxL6D15RNpdcQiGl7KBUVyGe2MnNRjfT3KdQ5rYr6o/q6YfviKXj3jop41yeMQHvIOWeQaAXdeFg4zC9wq4Owam1EBR8jkzirD/Zot3mv0hjVZQyh0vETOi3BLM6qbHO/a9HFX2t/Vu9FVXgapAsTYIapQj8daqoDCy/7ONdpzrFRA4W3iLTWMczXF601xT/Dsrbp0tcrRq+WYzkVpK2CqlWG8nFgJM4uIfFI9G52FWWqarnf8eSXAqzTor9T5moVWqcjBEuumUK1Mm43Mxu8dGNTRmU1KJumZimlubt4B2fBAv+aKHXrJjk49qz+hwa6YOqoUMawGcwGhimp5nHLhMJcAf/ABjfQXNDKQ13DfgJ49eJG2J2sL8dQ73K+ZYuwMrCHWGd6jXSe5Ke6PKfB6JtpOjT2hx+/9L6XnT7r/ZirwzotfqOHNl1UEapsG3Ix74megwBszrxjQOdUXtlgkYjPQyGcQ8Wh1E2+5HjIr1/dOhS41ubcZzb3h9No2BqZGG1tR1gAHYtNg6z0PP7DY+HMsqWqAZ8UTfnqlSp5SLZV3/jJtzolNv3FyVneMzqs4kXWs431YnB1dSqWLuqA/oc0Dq1dyXW6DAwRcG3mcWppvvRVwW3du118f/5I+N/UDzWQWlD+e03uO3aSfTF6tn1h/nVNu1ZQC3hoADuA1MtyvUWFdAdQoIqMYwsABLEsRspoxMjQ4oInjD2tq/JASqS5t3HmVOrtX0jItzI7roTs+6sZ1qLi4lrLpWT1296eUSPWqb2hnSdJi7ket/YK1CNfoZ6BgvVpfmFWHcT5r3cRr4TsvKFWa3Nus5l4Mt9BjalNgCsIwXknx0IBHuIRFXy8olQJI//jzagrWchblgMmKHGxh11sOboKVjWL7+Z609t1+TAfTi+G8scl5zU5m9JS+iDZn8cqGW8bKbMwazWgS/fz0ffrc3H0aTPVod+d6V0V4cGFMH8v9QMMPSxsXFpW7eRr+fAZWON4IuZNmJmlrFdY2xg3/ooD951lqoq3zMh57SA8c+7YihTmJuV7Fovbd9zVdfN0rtWnnVcufP3HwdjeeHlCy9WRZ5GP7vrMCmMx7bPX0W28BBdfIOiGkSXgTYQ/bc2y0gKJZoFTqGprd3IvnupaA3E7SljmmUiG0SmI8XoQIbFSFd/ZIPeItF/eyRAQNdXgtK/+CPL3IIao7RqO66WhUx+ekvf1F/dCWos7vr60uBY+u8PgP9BOdUT2wYZf2pyNaF5Gu7crq+si4HnnwkO7PZp1CQDnXSx8UREzpYYnDq9WoJf6V2Qfdv4OxRS+Vb9vRMaxHsiOav3hA18YvdwrcRlsY+wTXSBiQsuPVJB6tpeKNe25l2EHDYemRO5UuLlG+FJc8+aL0wK2flBJD2rBpcUbT3MzokjF0as0tjukoaG4aSqeVA/7W2ntEeGaE+ihT5t54e9+4lnoLKFYLlGotRw/a3AtAs15DaTNgQtisxhlVSw8RlqWRsPL5RvNUVkBB4rbc+PNqn0c4D68CKlXk8Ol90nt+UNRcNq/eVFR3j0f1zWPS716R11XDxcBhALwTQgGve9rl7nunc0WlohGlXJk3vUQXnkYfhKK2Mu1mUYpQ5s5321C7Zshkft4NSPSKUxxFaa6QWea4I2/knWaLl8TfWWFFK+f4lGorsGbiWs4hn8tq5NC9p1yfFVLUg3d/Qw88tG2xgrGQWAKilZ46P6e6BleENOkXrHU0TDOFc7RRHniPlnss5THWWkBRq7BmvBRQjXxvvbOmwhzTWZJjQhlbzwU5H28PkS2AepWQNbjiiZUbf17t84g3T1UqdHfvwXn95c1yJdw9+bQmqagbSGlEPfroY1FdMZR3LN+VxErT6XWgLN6O3QeNQ0D6IBR4o71ERuuD50rpczOtvyd17tD96WMqFAuKLnkDC4WsYpGoLkhtPC2fARDR5GxccFT6eXM2ZoGvlsdYqriAY1K0Uut9LeSzzuMpJXhGO3ds1fD2axaf5VS/AzCYPIoux8Sr6P7ZtPM6V3DBfCFvuf5aCM8Bz5bwHfurVLWl12PE6zaDg1e5AopGQAkjrd6KxGY097JeWzkpup2lrYAp6BRbC0UQKkIZY5l7AcjrrdQDTIRcACTOg+7merrZzQqyhVeq8i6dyev9XxvTeGa9tqSyikcTymQLOja2oPXxuB6f6tDxeWlzBUfGGjPr8U689EHeXiKj1jGQCrLpuS4UHp/3TldtltzYe6VumX1UD2dGNBjrVK5Y0Ewxres6dumZXXtPe354j6wlK7jA212Rs9m3z5UCY3CYBd5MEkoTAJF1yj2utwownuxUZ8+w5mdOH+MOYA2s37XC4Di6f70OPvgFFQsZN8cKlsHOwct1bLygI0cecL1BzWxYrVVYK8a2wVoJqoxZr6xxXuUKKOxZBt2zqw1KQb0p7sdtt93mws2htBkwBfGYvCSshCJKKWMvMNVqERuBJpuAzzZCsWKVfd6Xt8jh0QMzGj25oI7B6GJCW0UlE/RPFTQ6mVFPX4fikcp5NeLzftLResTfS2SbHrABtAaGBzW3IaeZ7oy6E526NLlXQ7H+FeFUPMx6aH2CyM7kkN6+6Ub928TtunX+CTeL6tXd1+hV/deoM5o8zYtGSftDZn4L3CoZvawFXsLZRpUUlj2JfI5VqtctqHAee694oe799kdPeUCL72hgw24NrN+94u8377xaG7Zeqqmxfcrnc8pF+rT/wBGdOHTI3Q/WDNeOAm+1hc7a4p5w/FLFH/UWUPDceY6EKQEqe5aVCihaDUrlroM9BoPCH/7hH65gXziXpS2BqZzHxKImzsyGrxReM+Vfa54JV5pNQ+iH4gASoY2INenaefgr7+YW8upPz2kwkmVcn4aLGfF2JBbVVDGhS/vzWlein9TIaG0UwUysR58+KM1kpT290rXDUiLavLk9o9Nj+tfpL+hA4ZjyU4vg+sXot/XSrmfq6tRFzjsB2GotB69Vzkuu1x9teJHyhPOYYetTJDa/C3AlqV9N0Vglo7dMG+VmPHFej7HWCk/Ls/lHNNQr67ddosuf8VPad+/XNDNxRPFEhzbvebJ2X/q8ktcZiyc1uPHCZXJhlDDjEvhbrpFiEDxtcl52navNGs66JeSMoVPP0MNywjnbCA8j1q1WQNEOoIRgEL3sZS9z1EOA0lqdR7tJW4bySgFKrSSstTTqsnD9488bLaCwviSUHQqwlGW4YSilnlREV2RHdHtio04UF63XdCGvbZ05veEiEtkqOyYC7+TWiaT+9gFpZGk8Ch7WdeukP7xM6k8255ncGXtYR1JjGoz2K16MK5PNaLIwo/84+RWN7Dus4eSAC1M1Up5fi5BXKuedcB71lD57y7QLhTlNT03o+Ilp55mz9ixMFGT+kpWmNzvPtm7LRe5F+M5bdVdpDWKNmyFnPTJWJEL4y8DYyxreaM6mlLCXWLf8S7hqNQ2YciM8rICC68djA5SIuqwVGKBvXvrSl+o1r3mN/uIv/iIEpXYFpnKhPCNhxdqhYiYoCWsQYDHvAwsLRW8UKMbcUK1BtpRYkQN5BSxTutnZ6HhhbHoLn+zY3KUrLujXrfeM6/reBZ1I9elkWuqP5PTrz+zXrt6VITFi8twHs/ImczG960G5z5zfy0h2aTYnffOE9PH90s+dr4aF8e53pR9SIhJXMpJwkaSOVEqxbFQjhZOa21LQrnTvchNtLXmp1RzuV59MKarbFI0e1eCANDjQpwsueJJmZwedYvPOXypFqmvMBfC8rWZpehBQ8hcXlAqvsg7J0fLyh28xgJpFBYU3yrrlPnFfWmXAlArfcj84F9Yme/6b3/zmqoFxJcEQAJRuvPFGN4piLSpF21naDpis+MEAAcXOBquVhDUIMPm9MG+83ZucrGWxeoscCBFxzsS/CRPST8Omt5JXgOrlz9+q4f6k7njgpPrT49q0rkPPvGadLjtvZfEAli0egZdK57bj0rF56byeRVBCmCPYl5C+ckx6w17Grgc+9XJXpHQxoxgTBJckk8m6a0p0JbRh20Zd3nX5Co47S0Z7+6VWo/+k0nC/2iWtqL5CN8lSHofXhKL6hrq7n6/u7l3OE0Nhm5eBBW6kulyjlagT0lzLRkl/HidIHqnU2HWuxdasgTHXWUvFJmE1AwKe0VqNN7H9Ti6U68CIYf00o4CiVkGnveQlL3EM4H//938fgtKZ0mCLAE64upClUkVUa0ikGjBhOZEkL+eFeQsogm6mckUOJGJRaqbY2AgAFdY1luieDRt09QUb1dHVq55OhgJGTgsNWS+V1yNYWLo8fzk5NHjpvJQrNv6AKc3eldiq+zOPqqvQoXQmo/TCgpLdSUWieW2PbyrJcYd3V6rhNei49WYO9wsiEe1bAiWetd1Q/mWQ4n0qaPE6AVgvqS6KzXKT/DfXz9oinLQWpb/ekFm9eRwvFRSsEF4wxhv0DkOsxP4OKJHH4T60gsG9GiiRM/aS1PJqtICiVsHrfvGLX+ymDrz3ve8NQelMACbE3HxAgw1R7yTbSsBk489x7QGLUtafd0hYNTF6oXJFDl5BsRlnmDfhft+9dy+HwvAyUHB8B4DE+RIC8Rd7XNAndcWliYw0uKQD6cEczUjP2Sh1NEkPPLvzGu3PHtbxzJhiuYjiPQktRDK6JLlXexKnV0Vy3qUaXlHgJOIbrX5rdLhfaRm3s/deydK/p5dpIzwvwnV4TlwTngagZIUF5hkbGK92LsO8E86rmSEzPxj72d9LeRnsXUCJ+0Ledi1DVQZK7KlyOaUgBRTeqb31RABY/3hKrNl//ud/XlOgbndpq3lMCArsW9/6lnv4eEr1bi4WIgreW6brHX+OBVeNM+1LX/qSo0mpFJbxMzmYJVar2IZn8bIZ2Bi2cLkPpfqCOOTf3C/916HFKjyAaDIrrU9Jb71SuqK2nuCyAoB+7YFbdG/HPs0OZtUV69STUhfr6Z1XLeadavwu7+wl7lUQ67vUcD9CQ80KEUb0fUV0r89jcmfMnF0V9LLTPmOFKChdzsW7VlHYFtrjevEa7DpLzdFqFt1Rq70TC/lxraxfFDvXx+9Ys2cCKFUTbwEF14lBVCsDBZ8DlGiw/uhHP9qSxu4zWdoKmFDwX/7yl5c9pUaaNLEc2SBWoeWlLsKaDBL6+epXv+ryBeXOw0vY2CgJayn6GstvEWLgWqx4wpuIzuSlzx6WvnREOpmRrhyUfnS7dGmT8u6Wh/MqvGZdp9f65mV5KfMy/KCzusP9JhXVZ13o7lQgAbYFWlSvVVEXlRyqhyKmX6rSubA+zPpGQfHfXsLZRpWUlT7XQ3fUTMFowLvH+OPZeqv8uN5WFj00C5TKfa8xUPBceX7LDPAlCigI91LogJHM5NfV5Ps7W6StgMkaXBm1TaltrTRAXiHmj9KwkRBGnlmLlf31r3+97HkEnaFUqwCcWOFsZDYT3835myeFIrfeE4BqNUNEPAurhrRzWS0xlmkDKe6Dt0iE91d7uF9EjyuiW5e8pMXfFLVXRT3FsSf4mebtvtRy/70D9LhOrG/jK+Taag1bY7QASvWcS7PFhg2inAlrer0MM65Wk2WjFaDkF281I9dpgy25Xq6VknX6lFjDTKcNKYfOUGDC6vrGN77hlE8jXF6UgGOhsSBQriyQWpXrzTff7BKl/sKLckUOjQrgQ+6EvEy5CkS8ScvXWIiIa+RVa75mJp/RbCGrdfHO03qDrAqQ8yAB3mqFxwY3kOJcWKZcH9WZKPLVO58FRXTYgVNRcPCtdD2t3JgcYTNY01HmBlJY3yhs8zKqXSegBhCQ+/FyJK6FGEBy3qUY+HnfrhNFvhqFBaUAspVg7S2g+Lu/+zu9//3vdzqIvsj/7//7/1zBQ6u9xjNV2hKYyDGhDHmg9QolrlhsKJJy48+rCefBhrdclL/Iod58UjmaJar0qBAERIMI52H5Gl6It3iiXHjpZG5B/zB6u7449Zhr5t2Z7Ncbh6/UD/ef594nec/9axZrQSNChRRgzXlwn7zXGTQv1SyxURF44QB2s8Wff0PKhcIMIFnXa2E4eAUPEu8kKECWuk4vM0Mjoc21AqVS94TwnaUOSFFw3f/zf/5PvfnNb16TczqTpC2B6bvf/e5y5Vo9wiXxHTYNs97+Fr4DBWRKsRlFDpXITwkzWoNvPd+DsrKQH56VN19jmx06nzcd+Ly+OXtAvdGUUtGYA6qOaFxv2/wc7R4puhJvQphrSfRZbrgf99+blyJkY42g3ubl1QJIlB0NqastXCfP064TS9yuk2dJ1R8A2QgHXzPEuCXZq/VMwPVeJyCFQq83tGmgxLqvh8W9WcJ5/NiP/ZjTZZ///Odd6B3dAXiTH2VvhXKGARNWBSy7LK56rFIbf245CoCpXuE8ACU2neWTah2XXO1cCZcBIlTeNdJd7xUeqfURAVT8bPH9x7uz+s0TX9NgvEPd0VOW6RPpCe3Jduq3p3brSVc/aU0bRI2glh42wLocg4KFTgyMvXmpZpZocx6URq/lqAgLEcFywfM01oZ6R5Q0Q2wsuzV9N0P8oU3Kz72hzXJ7r11ACUPpJ37iJ9y9+eIXv1i3oXmuS1sGPGuZyeQVS0qzmKnGI5bdiNjYitUocmAjEYrhXKn8a2bs2d9H5GXR/uL+RzTTPavhRFz5ZHR5dlU8ndeB4rQue/KT1NO5tqwFNjyO+1LJYrbeE0JZvKxE25qXUd4W2qwnj+FllsBwaKQYp1EhJ8P1AFCEWLmWekeUNEOsQb3ZY9nZDzaKBSPVqhltllapabbtAkqsv9e97nXunAndhaB0FgJTkJlMpeYz2fhz8iTNmGKLBWTsD81a8Dajhxxa0FHtjYiXRfvQWJc+c2RMC/mM5qfml6bAFpWJ5bW9Z1j9HatbLVVJeOZ4kGxwQKlWDxLFbSFgb/4NDxqppXQZUMJLolO/GcwSjQrrGTYCLzGsv+HVaHVWO7SJwcf6Xe1QohUvWVWmVTMaGSuKHy8KL7LeIYzNEqIfb3jDG5x3/bWvfW1NjZizQdoulGdd/ZwW8fxqwt9Bk+Iff45CgTGcfqhaxYoc7HsbqXzzC30exv23FvmB6Xxar973SR3ITGljpFMLMzOaixY1raxuTG/WG/svb3lRgXe4H8dE+TazAdGbx8CbqpaXMgJUFD6J69Uuba4mVhhTLe9XquS+2WMt8AYAJWinah1M2UzhGQJI7HGelzfktxoNzNUMKsZWkCsGlKo17odyhgIToRwsP5LeQcI+JKb9oRazIJ/xjGfUdHzv+HM7BpvR8hgseAOpsVyPvvtERhPzRe0ajuuZe1Ma7CqtzL3M0+QqmjkOoVb5/twx/cH+L+nxuTFFE3H1J7t0Q+8e/Urn5ZoaXbzWVpCwBhnutxriVd4AlrcvDC+NsBGKD1Bay74TWzMUgbC+aw0NWWuBldwD9gZS9ShvGy2CZ9KKApBKQviOYgLWJkaet5cIoPA2MK/m2kVf/dIv/ZJbvzfddFNDlcShtDkwUYmFwiDxXU6MDgYXGgXi50sDTFAwz372swMf219559+43ma6L943o//e36d0MalEIu7CDrvXJfQ/bujXtoF4SQucz3JNax0WItxwz0MPaP68YcX7u3Vhx7AuTA2vGN9gyhuQovIKpWjME830IGod7tdsMVJdU94IChzli1JbKxYFngH7AA/7mmuuabgYhXVta5dXrcqbzwBK7dBCYKBUqmeK+8Z6NUDmZwwe86aaOQyRe/qrv/qrrq2EZvx6q4hDOUOACSuRRcWGrFSialxcpfIFABsJ0ec973mBjlsLk8PJubx+/RPjOjmb1XAyo3QmrUwur9FMp56zN6E/evGG5Y2O4iPHwfcCSmttgUMXQ76iFmYNvAdTaAA+BQcGUt55RLVKo8P9milGMcSzR3kBUjwzb79Uq5ojeU5EAjgH9kCzQ4mmvO2ZUuXnZX/neN5naqXyeLNBe+zWApRKiZez0EsfZF5jveFq1sZv/uZv6itf+YoDpdXoazuXpe2AiQdOTJ3wBaOgK40/r9R5z2b7zne+oxe84AVVj1krvdDNjy7or748qV3DMcWWZk5kszkdn0w7IPrFCw5o87q+5cQs/wYdcLhawrWhXPBQCAvVO3oCDxWFyXNgw1t4CKCqVM67esP9mhdKtAGMXEOlPqIgU2wbfU6sXyIBq3WcUtxvprw5pilv3iN3spal8vWCUjmv0a7Vev3sWoMajTyj3//939d//dd/ufAdRSChnCNVef6KulLjz4N8R6UJtFbkUCu9UKEItSflyqd+RzivqyuqVEennnL99Ro/dsCVGVuvDWCL8l6L/iBj5OYaodxvJOYOEHHveVn+zVvOW83DaO5wv8bFvG8/awH/AlS8+L2FNm2KbbOLChDWq1UlUgnYKrJPgIhCBl7eakab64Rnwb+so7VixW4UlEwnGNkq3wH4A1IYSYAvz9RAqlwkgDX+lre8RZ/+9KdDUDrXgMmm2FYbf15Jqk2g9Rc51NKjdPGmhAY6ozoxXdCmvqXjFIsamyno6XtSysyMu3AZVYUscuutAVhRAlY80YrGSCOwxUMC0JvptdnAOCNWxRvjOjEesPr9lW/NHu7XqLCeCLPaEMdKz8I7q8dbVMAzBUDq8Rq9wno344Hw3VoBAOuD6+AaAWEUOD9znTxTa9TmtVoTXmvl4Wu018+GIdoztcnE/pHrrN//9b/+l/71X//VVd+REw3lHAnlcTooNxLiz33uc531iGJFamFHsBEa5Jj8lme1Iocg8h93z+pfbpvVQraoZFxayEpb+mN67YUTik2XpvThmAZS/GtKYLVKXAlFoezIC7SiX8or3uIJY2Tg+lHAgFKrlFo1wlzuSyNJa+9IC14Aiyk0/g2Sl8ITYY3zt2s9fhyhchTjgv3mZd3wNmoTEgOo7VobbaNoJShVEytyMqD6x3/8R1eEwvXynCCZxsgL5RwDJkIJ8NThHQFQKPhaczR8D5Qgz3rWs1Ykjyvlk/L5oh56dEIHj8yoIxXTZRcNaXioNBDyPXcczLh809hsQeeti2lbcb86C5OBcjjesdy8LAwGUDWjh8gU72oRjtYihEzwTLBKufc8DwPktaDTsfwWyqWZPSfegXLc/yB5KTO8AGpmTK3lUD2EECveEfmtSpEJyzVaiXbQcevtDkqlninhVXJKjONBWDcQtEI9hF4K5RwBJix9rBIWN4q1XvZkPKbrr79+OWTEd1uI0E/COr+Q0//7t4d1172jymYXw3uDAym95hXn6UlXVE76olxskimeUq25AbtmAylvD5GXgLUWi5fqu1qYyldL/MP9zPDweo0GyK1ojDTF2wqSWuO3szla5KLsWvnZBvx5iy7aoWcKUKplSKexT5iH4W1gBqzqKeAwUOJerUUbgfe+vPvd79bb3/52Z+hScPWFL3xBn/3sZ11E5+d//ufX5LzOdmlLYMJCseR4Iw1rxIHZZGz8ajOU/vsrB/TJzz6uDes61N2VUKFQ1JHjc+rrSegPfv1JGhpIlU2eA0oo1WYoF+shMpAyAtZS02vL9b7gEVQiP22VcO7m8ZaaheXtC+Na8aZqDYMFFe+9qVXxNkP8za5WnMOzbeUo9EqkueRFm9Ez5W9gNkAO2l7QTqD0vve9T29961sdS/jTnva0NTmPc1HaDpjYwITxUFhYJI30/eB14TWw+a3IodS4Cm7Bn77jdo2fXNCmDafCfoDTgcMzev2rL9Qzrz+9pNmq0UiIr9ZMHJtey8tYCqx4whsuNConwIBQ4lrT6BifmjFPV7s33jAYL5QbgGaA3Mg68BLDAkr1lso3mwCV8J2FN81DbnQeUa1inIAUpABKzb43Bsj2wtjwsk/4ARlQovoOT3+tQelDH/qQ/vAP/9B5R6QEQjmHq/IIgxF+w11uBgkrsXBv5V0pAZoXFnJKxFe+H13qUUqn82XDZXhJq0lDgvIiR8TLWAqMPZv3LATGubCJIT9tVZlxOUHJUUVZC58a505OgxfhEhtnQdKZUl7vmPValCdrCOOB76uHGLbZQsgLL9KMGS8gt7ryjWNzbwEMClJWw5hhLUJfxMvrIWMosDe9fUSE2dsFlD7ykY/oD/7gD/SZz3wmBKU1kLYDpnIl47WKG+UQj7vwBIBUKZ8AAF2wd0Dfue24hgZTyxtiZjarZCKm7VtPhTbYXGZhWpiwVcImN/ZsmwJqRJZcI5sfj6nekuXVGu5Xj6AkrYzbD8hWcl+tGsxmc/HMAKW1KsH2T8ClL4qxDqUA2SrfuFbWWa1hsFrZJfAiW1UlyZoEiHhZHxHXCkUWlF1cGwbIWvLwcV8+/vGP67d+67f0iU98IjBzTDOECBFRnne84x36nd/5nbJ/x/7i/nn3OLRIpQgJzlRpu1AegiKio7oW2hyvWOUd+R8Ut+UvKlW97ds/pX/40H0aG0+rtzfhCiDSmbyuv2ajfua1FznwsrEMJHcJl611ybONz6A5FOC1MBjX3+rR40GH+zUq3rHcRqrrHSdvm5UCEjwTwJx1tNYl2FYlWQsBKsBqeSlvGKzRQhHjbiSkSPhurb1IvFmGcgLCXBNgabO0qg0IbLZ86lOf0i/8wi/oYx/7mF72spep1UI+q6enpyIw0dyLJ/fBD35QZ6u0pceE5VTPTCbEW+SAhYkiwLqw5k+sDUI7hA+MORtLevfOPv3yGy7V1755RA8/NuGKHa5/8kY966lbHChhyQICbJh2sL4tXOa1vtnE3go/LG6jXfFea7PFm8PB+l5NdguUM6EeXlYNxrVaaIhrxPsg1GpUUGtdgm2jTmotT+dZYXTY3CXrl+K5sze8hSJBn6uX8ohntZbcjd6ckpd5w9sb5h8QuFprGCGXBCh9+MMfXhNQCir33Xef02tns7Slx4SCwTUlBh80f2P0QpaXKlXkYH9HYh3FjkLzJtl5YWH7aYysUZX3/S50q8XmROGdVAuX2Yh1K56wazWruxlKiftNeAoPpZnj4WsVu1ZCiXjJ/Le3eGKtzsvGsuO1NYt+yUvCas81SF4KBY/Hj5GFp7TWuUjOm+o79riXDqpaUQwGh5dwthlCTpvpsx/4wAf06le/WmslQTymn/zJn9SP//iP68Ybb9TZKm0LTFTmWT6lmjTC5GBJdmMoYNEbSKHMzDOxaZ1rlZBFvJQ+hMtqnc9jfTVW4Uc83661ng2+msP9GiksoFAEZWcsG/zeO3OJ4olWPEfrmfIzKDRbSjEymOK2BmYzIGxMzFo/qyCgVO5avYSzrFu71nrZJ2groVn2H/7hH/RTP/VTa7rHgwDTVVdd5Z4z+orozXvf+16XnzybpC2BiTAFMWcszGqsBcZ5x8arhe+ulJA7MpBCmWFRonxxm9dyWqe/uqwZ+S08HAMpG2Vhijtor0krh/tVEwv7eEOb/pJlrpX8lE0ktvxFsxWRN9/W6p4pb17K+qUIf2GI8IzOZFCqlG/kmhEv+0SQPribb77ZeR9/93d/pze+8Y1rCkpBgekTn/iEmzMHKBN2fOc73+mM57UOy54TwITSQ0HSA9OscRVBxeLwLHoWCZvaZhBZ134rF7B5Jlwj1lKzFQv328vhx/fbtZZS3Gs93K9cDod8UrXQr5c9mxfiLZ5otEjCvFruJSCwFmzy3nXM87T8m1XFrWa+sVWgVOq+e9kngtBBQTH0ile8Qn/1V3/lptCu9ToOCkx+4RoA1XbOi50VxQ9BysWrMTnUK1ZizLGf+tSnugVtVijKhvAMlgnJ91YwhLORAQHCFKuVyOde2ygLSzxzrdwHv+Jm8/P7dhju5+0nCzpCw4hzeZky41oBE7zI/7+9O4+RrKzaAF4JX+KCRuMfKiiBoCYiiRoBAVkEAUU0o8OILLIJoyKLsjiIrIIywCCIDiDqIDsyGkFFQBAYZJDVIEEFcUUwIv4BoiCKYH35veSM71yqu6uqq+rern6fpDIz3TXddbfznPU54XH3IwUVTSDSLFIsdXdtupbuV4ZOqjVSudSzedjDqNV0Q0oaHSbbpdYP/Cx1Nq9YU+KZlfZ2bZ2DiBzdKxzfefPmJbXwppBSv1h77bVTdD5OaHRXXqcB22qTwyBJyc2syUF0JF0W3nPeHRUeN2Pm5s4N3aDbWkM9QRpx0A/yRAjtuujwC8NtEFPkxvjG7p46kafLFPJ7rbdVjZnIL+ZqkJ0ILOqN3Qy6Oi9Sie4h3W51t2BzppAAJyokjzhRXuqlsZU4OlU71aUGCedF951W+VHcy7GmRCkgHEszjRFVqFWpJ82fP39GkdL222+f0o55ulqj2Lvf/e7WOKGRqTzGn+fp4cnl5atNDhN13vVLAiIBD063KYaYZOeVxfxQkFQ+U9MP7MLh1eoCbAIJKOLzvhkuBnyQkkH9fB73B2MzrHRZtaGgKsC6sir9s40FiNvnqbvbzedASqIgz89U92EnpfAgqUGkN0dNSpPB53jPe96T6qKeW8+ZLdeMfRMyANVU3jPPPNPadtttW0cffXRrs802ay1YsCDZhSVLlqRnTsSHmDSL1V3nHfuIKdJLecQ0rHpSvgahVxLIJ9nz6MLPijmTyOd3+3DHhtdQwPZ/60R1uV8U8kOoM7Z/iliClIeZwsojE2tRhhWZOAZdmF55KlcaLGpwDDevXAs2OD+DFJ7tB9KRSIlx67YppbqVOGSDXNeQDYoZol5Jt0mkJAqWvjvkkENaxxxzzIqvff/73x+60ny/ePrpp9N14DjA8ccf3zr00ENTOpLz9M53vjMN3I4TKTU2YvJwSNN4OKRphkVKkQ4y+yLdMeg5k5iVEvlVB3o7wfFF4VwqcdQK2FXkwrAigYkIhzH0maOFd1iNIh7SqP85P3VEJvnwp2NmuHmuUoGMd50KE7FGI+qR0z3vMRsWx+rv4YB0U5dqEil5rqS7NAksXLhwRqXvZiMaS0w8U4ShiDyMJodY167DjPcxrO6pTmssqgO9wNiKBHhBTZA7ynXmnJ9uSSCPLvwZrdle09lyGp2JIhKRZN2RSZCA49M96lh9LaILr1ESp/vG54kVI8MwvFGX6maGqEmkxPmUDjM4q7V63KKLcURjiUlRW7eVdM2g60k8/Og468XoDgLVgV4PNGMm1x2F6rrnTKrL/fqNAqqt2a5fJ127boxujA80YWYqSCB2cDmucEAiuhAx9xJdzLRNrzFDFA5IXpdyH7t/DMdrtKiTlKTFRUqaHr785S+P7N7pVpDVvid1IudSWs4a91fUvNyzCWgkMTFobviQwPdivAdxU8XyutgaWnfqBQGLDpFxrsRQ186gqZb79Ytc1y5fChiiuhNFQD4PUmLwDDrXnYKJzxPyVBN9nmp00esAcy+fJ1qwBzkX1M+1dazS1xy/UIcfdeSYw7P1rne9Kxl8qg6jdmimmkkig6RVXY3LtZNivO6661ascJ/NaCQxKU66qbbeeuvkIYsseGiTqYN3A56ddFm3y+uGDQZL5ObzaLrgNXmw/VnHQG+0p2tFHaanm+ufISkRSN7hF4bMzAmSdG7q9rzBZ0ZKvX6e6HrLB5jzZXn9GkxRGVJqyvlBkpzJkPNyfSNyjOMdlcNl6Fr6btNNN00dbHU4oFMRE9IkGqshI2AX3cKFC0e6bqOJaCQxefi/+c1vJgl6KS4ej5e0kptfvYG3LZLqtuNNvYqYpiiJd1k3Qq1AFFDVA6wqMTDUg6jTdLOWoZflfoNCXoNjyESzDJiOP54k4q4bQdqEhafTVpyrhDte/85XlHRbOwuSDCerbkTkVk3fiRzjXh6Utt1U4NxJ32mcOv/882vLikxGTMwup4R9yztL1cAeffTR1H03m9FIYgp4aBkD2lBISr5YFMXTiHbJvOPNzV59sGN1NCLod7/TMGaCpO+66QTMB3oZs2EM9A5qud8g4HoqViMlqK6SryMqYFi1hA+atCNyjGsbkWNeq5lsNft0SXLYpDSVtp335dp2gyAQP3e77bZLDujFF19ca5PMZMQUW4PZtByXX355+twc89mMxs4xQYhOevEgePRISsFQ+6cCI88I2bjAuuzc4CIpN7sbPzrdNFGMQnalG8kaD6ebktGdCjkRxYwJQ+a4YiFgpDd7Jamq2Ogot/FOhKhT6EzkUUdkgcy73Vw7SPgs7rthRNr59tqQ0clnw6LmmKfAInILtfuZQkoT7dJyvBxHdanpdjSKyDQ56AK88MILa+/cnAxsUid7pBv3ySefrOUzNQmNjpimGvr8zne+07r00kuTkTYVzVNCQHL6MaS6+eabp+iqrmaCQGy/HdTeolgIGLNSjjknqakeyny5n89Tp9hoHI+16eSAOq2JqEaOSDgIezp1mskQBEE9wbkdJUL9PVTCGTGOjOMXuVUV1OskJVHkdGq2eUejlyiyEylPBiSHlAwJswlNUNqeKmJiq9zzOZYuXZq204qaZjNmJDF1MmhBUh4UKSmpKYXPT3/60yvqFhFJjVrHLNqvox180J5cDPRGnYbHFSrSncRIm7Lcr19F7jxyZMgcT3javahsdJPe5NTUrQrAqYn0L+MfzRPDJOVRkdJUpMxxcn/ma9Y7qd1bmofMdLjVfT93W2PyjHIs8+fzxBNPTOdWC/lsxownphwORQfOAQcckEiIaCOvRCT1tre9LRksUcao5HMAYSAlN+Eg268nQ761Nh/ojfRmk5b7IZkYdJ5MXaKbOk2obExGyt0gdAGHveCvW0TqVjrRfR2SQdF2n6+yGEX6Kicl6bthIo+UY+eS66oBSsrO80TY1HFfccUVtafre+nK09ClA1nNPCDF/4UvfKG1xRZbtGYzxoqYvvrVr6ab4LzzzmvNnTs3pWI0TYikli9fngzxe9/73tYmm2ySvCoPuPRIrLAY9E3tgZK+o3CsUF1H4V70lC8/9CA7TpFb3enNQYufdlLZiJXj0cI81f831O2+8Xm6qQGOqsYlC1AdvMwj5Vg7PtUOokG1hMdIwSgRepSO9fDDD29de+216R5GyFdffXUjuhN7EWQ1x3TQQQclG6WJ5eSTT25dc801yVbNdowVMXlgwuvI4RA9vMQOkdSyZctS9CInLd3n5pEy8CcDxgBM12iL1tQnmtKeHu3FMRMVitlByqMmKTWxfPnhMDz9UAjP16tHJFVNF7pHXK9QLK+btPORAk5ENzWu2LfkeGUGpLbydfIzmZQ6HSuVcM+ZxgsRnOwIQ28jbROJSYpSlLd48eKUegxnOpQfRE7+/fKaO2ObgLEipm7gcJGQAiOS4nV5yJCURgkPM6MtpRRGu5cB17yIL0Kruz4BbvpY7id6cyyIIYyY7zveIOVhD/RKtyFJxlIkMIo5E1FZvko+Ovzi+moEYcz7SScOAwyuupt7qB9x4TjeaJ6Ybkdjk0iJgf/Qhz6UruWPfvSjFfNAP/jBD5I2n9R9wczGrCOmKnjSZgeQlHSAvPmcOXMSSUkR5A81oz2ZnIx6CQ8XsTWh0y33uieL3GK+RNpo2AO90k1IadCSR9PReXPdkKNhZ8dctxbfoBsvOnU09rJvqUmkxKHafffdUyMI+Z5BbQQoaBZmPTHlkK+/8sorU4ffVVddlYhJJGVeShuqh1sxPSKp3Gh7YNST/ImU6m5X5W94eEVvvXjd+Wr1EF4dVFt2pBOlXupWnI5jlU7kgbuWrq/zlmv4jVo1IK7ZsBov8vmhGDOIIddOK1lC9qgJpMSh2GuvvVLK9frrry8przFGIaZJctiKk0hKt48Un5w2DSsPKSMWw6+MGmMSG0PrHuzLl/tNZ69T3pbtlQ/09rrZFNkZDJVObIJaQacaV8yGxfEirDDa/Xb49dMNKJ3Yz6r4fvcthRMSzSKR8ov17E2QPeJEfOxjH0vXTI2YozhscKQ+/vGPp7S/Z+iTn/xkGj+ZKD1dzZCYRfrgBz849M85jijE1AXcdHLZSMqchGhId99WW22VHuYTTjihddxxxyW1adFUXbMl+Z4pni5SGlSnYdVoh15hN23K0VkmdacGUDd8dpFbzJV1ItipjPYgO96iLimFh5TqWhBZbRYBx+y+rksOKu5pIyBWiN9www3P0ZYcFnbaaad0na1ddz4+8IEPtObPn58IsgpOl8YLpFkwfRRi6sOouflII33rW99KXpUC/oIFC9IDLDKIyAJJ9bJ3qK7lfr0ijHaoTkw20EvuiORMHeoJky3463W3U952P8iOt7xFnehoE+qSnBo1pahv5QsfJxpyHRbcywceeGBK3XnuNO+MqvmEkyC1Gk6IBhkSaFV9O7joootaN910U1qvUTB9NFdMqqFg7LV1ujmF6kcccUQio8MOOywZL5EUoVkPtaaDUCUYds0iX+4nUhpmbYRRYti91IpidojH75gjsoh9Uz5P3eK5+UK9GHbuxbjq1GMUvTgnEUnRGhSVRh2ul11LITCM4I04NKFFPWpKjjPSd3ndMRZs9pvS7ZWUDj300DTbI1IaFSmB6GybbbZZKTJ2z3AcNKbQNszhvueYFgwGJWLqA8J2aTxzUQbl4uF1M0v3GZjjVRumc3PHTql+1nXUudyvH0RkwdNUo2GodQOOQmWjjoV61RUluVzQZOrv+dyUSKkJigVBSpPVlGLINYg5r8P5c1BROlI68sgjW9/+9rcTKVWJYNigvuCeMYuUw+4kO5RytQYwlyTK5KR5Bm3Lrc5TFnSPQkx9QlPARFGAh+r2229fsa6DR0x+xM2sQ44BmGpdR9OW+3WLaJlnvBBy1GnyAeaYHRoVYuEggztMBY7YtRRGe6JmEV+PsQKk1IS5qTxSco76VdpAxnFP93tcfq6aLQWXGIYfNT73uc+l9KWILceuu+6aak0xIBswciL1JxrXLKUmJrpsQvp6JqIQ05DBWDGKSMqslHSXaEs05Ub2YMcenhCZ7bb7q87lfp0gatQyj3QdW94yP9FA76BXjU+0JXjUayKqkYVoOdY6iJIQAVJqguBoP6Q02Tp5xxzKIkHM3Q5tO2+ETM8666xUV1KbrAMiJqlf8kE51Jg0OXA0J8PBBx+cziWCKugdhZhGCA8dIpGeEEmpL2g/j22b0iK56KrXRKmRJi33C+IRuYHGi8nIFYFF+osh8958+eGgSMrPJn4q9z+qTq6pmkVcN+k/0baW58kWAs4kUup0P7jGsRQwrnE0T3RKcTpPX/ziF1unnnpqGp5Vm6wLGpvMMp5zzjkrfd0QNoUJtdXJcPrpp6drfdJJJw35k44nCjHVhKgxRLoPYVGbQFIbbrhherAZjWgk8GLAYrmfm74p6tcIVfs173+i9uvJIspclWBQA70karTNdxI/rQOOUzQpOqbCEfNh+e6hYQgJ10FKVUTzREgkdRpi9jXGXLREgYXuXZ3QlbfxxhunNv5Is3tGDdybN8ux3377tfbYY4+VPrNWc/Xlvffee+SffRxQiKkBCLKJnVKMvDUdNL822mijFXUSXVuMOEPWzd6iUUC6w+dFkAzudBovQpUgahb9djSGzhySZADrRqioczZctzyajN1DUYdzjfM63LBSnKHCMWxSmmgeLo5Ze7U/XSdRElJy7zcByMX9Z06RI2FY1hwTstlll11SncnXzjjjjNa5556b1qFzgqQhfU0dsQlNLTMRhZgaBg8uAdggqVtvvTV5YlrQFVhFTST/6/Kyqx434yYlpc41SCPa70BvLsPUBAFdpCTF6U8R7mQpzmr6Sxo37/Ab1Pmti5Q6XWOErY6jycHxISUG36tutQn337777puUH9RB1Y3MK4KOu9122y2pQTiO448/PhES58JaHV15dTRtjAsKMTUYbniDl7qTYrOlKMCuKes6kFR0u416fUV0A5IX8hpmN2CuwuAlSsuXHzLguXoCAhiFpM9UUEvS+OLc9Lrao5NmYUgjiR77jUyRkvQdQqpbGso1u/DCC9NaCIoqaoH+NIahlnPaaafV+vkK6kMhpoaDsdXBx9guWrQoFWRFUmY7pM4M9KpNISSGLIY9Y6fUMAij7m7AvEVZ1BZ1NuTFk21CijO0+KQfkdJ0ZtYmEl7tdWtt00hJg4GuNdmB6lyQ79c9+lBQHwoxNRxf+9rXUq5ap1J4ybFTKhYf2illABFJvf3tb1+hlK0ZISKpQbVki+BIszSlqUAzgc47Rtd5cex1pzi70eLrF/nW2ogeow19si7OJpESuG9pzi1dujTdtwUFOQoxzXBELUYKxMNOvsWwre6hLbbYIhktJBU7lpCJ+lQ/JEWGSUdSU+o3IgmRm0hJUwHiDoNdHegdlQgpUkIAoTQ/bBUO0WNEUsgnJ+YYcG0aKWm3/vCHP5zSeNLSBQVVFGIaM/CmTZ7HTikGKnZKkeNRVJf66WVuKIRGQ9iyLvXrTsO8utp8pmqkEI0EIRWUb6ztl5ings+CABBiLwKxg0KnAVfHqnUeKdXZ6BCwSkbTgPmgUa6E6GWFhUwExQf1Si3j1p2PWhJptqc0CzGNMXjT+U4p3jSSojxh4FQkFXNDIqlOg4+iEqk7EQgCaILQqKYCjRc+21SdbtWB3n6IuVtSoJXm56277rq1GxPEzLCqUUJOzIPeStwtKDlowda9ZjX6KD9DtysspIV1wKp/IaVvfOMbrZNPPjnNxA1LpSPIR8pe9H/33XenGSj1wyY8b3Wg8cTkxiCaqEtH2mYqaNW87bbbVvzbjWemYLZDLcZOKek+aT8PWeyU4knH9tYwXlJ1/u1BVcdASk2Qz2Fw1W+QSz9NBbmenVd0u8Ux9xPlOLdIqR/V8mFBetd50nKtQSVfJT+IY+4VN954Y2uHHXZIbdR77rnnSM9RLyss2AtNPYcccshKpEaCyPbcYZGSSI7UkUamJ554Il0Tu8s0PA17QWUT0XhiAjcPI9oNMXnYFOjr3iLbZKiD8F5FUtIWHgzbeXmKpFakgaQEzVMp3jdF0y0UJtROfK7pGtRBDPQyIj6T/6fduWmkVF0V0emYcxWGYTw3N998c2v77bdPRpbhH/U5Ev1wxtS0cki3Ul3J03Q6Xb03lxwKdRY7l4YBs4q6EjU67bjjjmlVDGfx/PPPb+28887pmtW5MaAOjJX15hkN6+EaJ6jHaEH3Mnn/4x//OD185kkYf/UoD4tCuYeXYQmDPch1Hb1GJeo3g1CYCPgZIgYvpKIOwVjTMIx1DpOpvw9rlcawSGmyY6Y8wvGrzodNF1T2pc0MoNZBSsDB6qRt5/ilOnNiYkOqg73xvmHBWIF6F1LyezbddNM0yIuUkBVF89mmIDFWFrws6+odDK50nhetMgTFgDDMoiZFat4cQ6UBgvHKd0qNwgmIqMTvk9IdhnHzM9VevBixGOgVrasv5Bt6GezQmZMma8K6kW5IabJjZpxjPozHLtU13RUWPouuu6OOOqq1//7713aOODWdDLtj8r0cnaKTTu8bZBoPecsAuOeQ0h577NFauHBheo96nCYWEkizCWNFTAyI9cYMmJftsjqACroDYyTP7ZxReb7jjjsSUdlNw2AhqCApnl3VYA8jFx6yR/LtCGMUxi3f0It01NgcP2/aOfJ1RkRb/lQq000lpU5QaI/uPc0coTohguy19V4B/33ve1/qbiPlUydxIxbXsAp1typhIaVqJ1yn9/WLnPjidyhTiJpEZqLLE044Ib3PiyOmmWa2YayIydS/Iitj4cEQCtNx0+FSMDUUxmmDIXQPja4kL11JjB6SsqeGR60eJRWIkBSVRav5TqlBpIHUQjywUop1tjozSiG9xFC7twzPShH5jHUP9A6ClKpQU7S/yktNMroazbFN1XrvXtD9SdXhsMMOqz2adAxGJ6pwLNW0nW5V1zU/j53e1w/U86TBpU0ptxiM12Qh6hZVsl+aQwB5SeOJpjh/sw21Nj+oYzBunSB0PfPMM3tufsihiElnTpG/YLBDrbFTyk6oWHzowYoUYHVdR6/gpRL4lGISmTQBoQ8YSwcZ7Hz5YSiDD1MOaiJSGtUixGi9jxUWDC1HxPFvsMEG6VnV7aaDTV2pblLqdYWFDmDNPnkbuSiG/dFNON1Iye/1rOj084xYmSFlSqD52GOPTRsF7r///uRQ60hmw5qitj5KjF1XXg7vJ1Gft48XDA5uHamt6FqS2tPuqsMvdkoxnGoYIY3UTXdfaPFJY0jhNQFazJHSRPqAdQz0jpqUOhlbZG2AVy3J331NhuLiiy9uhGZhryssjEcgB/e0FvMLLrggCSj7+nQXOjpPnguDviLJKmlJnesovvbaa9P7KKzUtcG3boxND+KSJUvShHYO9SaGpBvwTnhTutCmAmOsSCl3Lf975ZVXtmYjGFsdctYWMJCISYrPXhqafb5uL1JIBbkeUhMcjYmKyQ899FAyAq5DU0gJ0SAlRDmRaK36mu48xoQUlEgv2tuXL1+elkIit0H5gXWTEriu0kyeAakyUaI5LtccISMr811NANvg/ItErJHRvh5L/NTQ3HeACBYvXpzqrBwKLeae70FsGdYss9lmm3UkJTU90ai63OLFi1Mn3mwlpRkfMSnQ8zDUQBgOhXkzC7wNmnFuPEOlBjGn83tyMDYMlNbqj3zkIyka0+ZpwdlsvpFyuKXUnWKnlHPkmji30hIexJDMydd1qF0xEox7U/LqCBVRImDE0yvygd7Y3poPMffT9h61tzpJKQeFCc+eFJX0O4eF8yaKFn3UuSK9ac4zAvdcRL0p/570ODvSnqUyRGPT/MCQRY4Y+SgWKt4rLoqUREHdklK3YGh583LDwAMSGSBHA3EFz0ZSGgUUdnVkyfE7b17OFUOFpKh0MLKuF/JSo9I22wSBWHj44YeTkzIdJXXEE12iDE4MtzLcpJXy9RXdzIc1jZREGlK373jHO5LCShAtIvcq+B80BHFOwLXmtIBz5rqaHyyYQRHTqNBNxIT45J7lp/NUDy+fAS6YGG41xp4nHTulpIE8sAy1dItWbCnSaCIY5nrxqQyu7jJEqTYxjHMRw61eUjk5SXVqvW8aKbmWGh04FJqM6hi8biI4HJ3m+0RJsiuaRHIBWVHU7rvvniImaeCCMaox1TlFzpAwLNJ8BRMDwcjxK/5KtYZSR6iEGyqkMuHBNneiGPyTn/wkdf6pqYzKh4p5JdH2MEgpH25Vi5LelOpEylKglDjUj2QEdP7lpOTeawIpccZ0tSHuc889tzZSkiVxPqSC1bSQ5WQgHos04iXaGySQj5+rM1V2QLqf7Be74RxZ96HbVI1aOUD3n4Fa+9YKKY1JKq+JU+SDKJLOBniAeY2iVJGJ1lkts/LvVmozNnPmzEnpDec1hFsjkhqWQrZ6CSJESqNKKToOkaGXeZkY6FU/1TTh61QZzHI1oXVezQwpIVXNAXVJgFHO58zY7+Sz+Dty4txMBA06UseDmveqAvlwUkVF7iHNMmeffXaqgftsiBApmVdCXurSGh2UBApmGTF1Oy/VDRCQG6+KWGte0D0xOV861qL7TjrDS4ordkrR8kNGQVLasj3kjHk0TnRa19EPRCtmXaRqY1173QO90Xyh/dxnU6PIFRhGDZGbzjEG95JLLhnIIHW/0Px0yimnpKgNKJRodiJQrObV6Z7jeAwj4swbFkS25qbIeQHHiwCsFnqKIWqrBmoLJkapMfVRY5J2EX7n8wny7FIvBYOFSCE6mbTtIgzeOsMT6xyi0w1Ribz6ISlNNK4/UhKNNQF5+k6kNNFAr9coanEcBvM+2qhjdUpdcM1da89e/jkok+j4NNxbhUjY6g2OzTA+j/NvGFcNUHqfEGt03/ndZqKkqY1UBHGWDrzOKDWmHiEMl0LIYRjPzVYweDC+HnazUYxQpEA0nzCSGimQlwdcmkZ9xp8MeHQ9TQb/T2pHtGTiv6mkBKITkjm6GtUjpPYc+yhqcTx910E0p2ZS9xoUxMxJqX6OyZTA3Re+p84pZYrEpnuu4h4Lp8Dv16EbjVCICaQaKUdwmuxeci/n/69gZRRi6jJlwPsBg3mGRLWGSyvdcsstac9MfH8mFmxnCqRRpZF0gHmwzX4wDKJY58QMG9JibNRmkJQ0WOwdmmhlvEhXxNuElfFBSmpqOSlV4T5gYKWxDDMbj+g00NsNOU8FNS+qCIyqSKkJKeteFMMD6ko6QTkhom9dcO6hfuH+iej8M5/5TPpTpIbwlAc0OXAmREneiww1P0hXu3YFs7zGNMh5KR6aIj1NLS83G6LpVgG4iQXbmQgPvOFNr3yn1IEHHphSXojK1lHpvdivVN0p5eucAqTUlBXWQUq9aAQ6lkjphUxQ1KYYxHz5Ya9pTvVUYsjOn+HPUcoMTVUb7lTrnUwJPB/0NST/9a9/PRGFzrnptoSLIkVJHFaze5xWDgN5IfeX97tO0nwFU6PUmEYME/IIbd68eSu+ttFGGyWCmqhgy6jESuyCyeF8kT5CUoyFCMqsDZLiPKiTSH9pBxdtqCk1JVJCKNJ3E+nx9Yp8oNer14FeZCRalxbV3q+m0xQ4NkTLschnvujaSTt+/vOfn/JneB+imCpjUUWu2qCjznlx3cy+iXJFY74v7awhQ+rOSECpJ3WPQkyzuGA77hA98LqDpBhYAqNmSkTBPOYwcIPc2toEUqrCcSJpBMUQizYcdyx8rA70ijqlnJyr6667rjESUTk4G9RFOHsB0YnnqToTJENBq+6YY45ZKXvhmZP67AccHufRfeR5FiUhItkN3YHuJSk9SxKlD13X4lx2h1JjmoUF29kCaSuequFFtSRev/SdgV5NAgyKWSEpGURllxfj5e+jHJYeNikBgygy5NFrV9ZZ6t/5QC8SR0QiK80l7jsGtomkBFJmUrfqaQgCKagxBSktXbo0RXwgMkYSujtdW2RkuDVXYJgK+XOn2QTRq7k5p66bZhQyaJ5vjSJqXeqfzq20bCGl7lFqTDOkYCsNpc6lTV3nWD958dkM6ReDu6AtXOTASFFy5uFKo6pXiZpisDVWi3e7rqOppNQJ+UCve8/54PRQcXB/8fbVUoelfDEIqD8hVlEwp0/klO9eExm6jmBWzveQmfSbcy16Mh4yFRkhbmSHWEINnGMjyqTWESm6+FPURjdQTUumo4g7946SyhtxwVb6oBod8ezkoQ3gTQXevoItz76geyhMk0IyhZ8b23ynFP0+w5CK1vlOKXUa0UUM9HIkZjIpTUbeWpoZYgKsOk6pF1gB8YlPfKI1G2HQ26CstKYhb86hyIjo8EEHHZTumeiwE4lRfjnppJPSvYOk3EsFvaMQ0ywp2BZ0d32k/IKkeLvSXkjKJL/vIxNe8nTVF5pGSiIBaTGqCcuWLUuRuihE1ORPtZzZ6tDIWBgR0WGnHoe4Rd2HH354EmUVbbsngpxi48BU0VjBxCjENMsKtgXdAQkxPrFTimHSPYmkkJWuq1BfiEiq21bqJpLSoYcemu43Rlh6r2DlSNJgvQWIZhpD9YUavhqTqNI9IFpSx1IzNlNX0D9K88OYFWy1Q/v/jKS8urTCRNCpxjj6/bw+HYAFz0IaRsqGArRCtxSO7kiOgXMljWOAEkE551I7ZtFEXDHk2wmGXptGSkcccURKJeu+K6T0LPLr53p5njiPGhnMLYJn0V42qWFEhLhEUIWUBgD7mApGi7POOqv96le/uv2CF7yg/f73v7/98MMPr/jel770pfZb3vKWFf9evnx5e4MNNmg///nPb7/2ta9tn3322ZP+7B133LG9xx57tP/2t7+177///vb666+ffl8Vd999d/vlL395+4Ybbmj/+9//bn/lK19pr7322u0nn3xywEc7Xvjvf//b/vOf/9w+44wz2ltttVX7//7v/9pvfvOb20cffXT72muvbd9yyy3tyy+/vH311Ve377rrrvTexx9/vP3EE0+0H3zwwfS9X//61+nfdb98rgULFrRf8YpXtO+9995az6v7epVVVmmvu+66U773nnvuaW+yySbpmXjDG97QvuKKKwb6WZ555pkVf//973+/0rU/77zz2h/96Eef80w99dRTA/0Msx0llTdm+XBRlk6l6CJT2DdvIS2Vg7fHa89rBzvttFNKNe61114j/+wz1auWzhNtqEupzziniuSK3rrbDEZrRxfxisKkeZoQKfnsJ5xwQkpHqSnZ0jsTRJSdR6oNIlmdqSJVUQpVikF3v8lsiIo9P5o/PFO68QzQSnkaRZDWM5dYJIYGi5LKGyNIOWmdzVub11lnnZSGqKbppAXpzuUweyGdU9AdEI1i+N57752MFQPFYJICcm4ZLYVyxhPpmxHSkRk6dnXNo/m9ZrtIOZlTagIpdQv1Pp9XCk1LezQaEE6dDowSaPTIu2t15JlLMtMVzxRnA1FJveta5GQYOSgYLMoc05hv180HeOmv5dFVtZ4w2aBvwdQkRdUDGXmpO2kmOOuss5IToBuTc0C8VzFd27//oz4xnXUd/ZASQ6qIL8pQuJ9JmMihUqvtF66VhYebb755akpCeLpmDcWqM6obmm1DRBpftNIjJ8+a7/cypFvQHQoxzdIB3hgUnOp9Bf3B3JPmE4VzDSwiK00sGlOQkJ1SVqUgCqmr6YqtdgO/Q+rOeIIdV7aszkTni9J5DudWI1HMEfVzrWQKREWiWT/DChSZBqlFX5O2o4hx5JFHJofDuYtXweBRiGmMgFisKOhGcZnhq4pKTqbMXNAbGDHpJkKeBqJBVx/iF6lISfm68834ScG6FoxgiK2KpJDUVGKr3cC1Nij62c9+NhlWc1nj6Hz1Qkz2WIli1QFFSdKtOhTVCdWXtIKLlES4ofRuvYWaYiGk4aIQ0xhBmognXIVW52razsI53me+SqPT+wr6g4YHhq9qRBlQCw69ePk8dSS1zz77JGdBJIWkYl0HMdVcETxftdALKUlVMaqMrZRVk9RQRJTdwvnrtO5Cza4Xp8rc1k9/+tN0Pt3zIlut4CIl1039jeKF9LbrIt0nslI/1GBUMFwUYhojyH8rvue7YqSJpDiqtafYxKs7L6CzrEyrDw5TGUqpIwO7XmpR+U4pUki+ruax2mqrpdofQd/JFMEnIiVzNbovpRK33HLL1qhhMJms06CcLw5UTq6aTl72spd1rQxv7YxORDODoqMYjLYlmYCv860bzzVQL1RT8qxYjU5xRdRZMGTU3a9eMFiYY9p///3b//jHP9oPPPBAe6ONNmovWbIkfW/nnXduL126dMUck1mqW2+9Nc1gmCN53ete1/7Xv/7V9e967LHH2rvsskt71VVXba+22mrtE088ccL3mo8yp5K/4rMUrIz//Oc/7WXLlrX322+/9qte9ar2S17ykvZOO+3UPvfcc9t33HFHmpf63ve+177pppvSTJSZtYlmlS644IL2C1/4wjQ/1XT84Q9/mHKO6aKLLkrnIsfixYvT7F438Gysvvrq7UcffXSl8x24/fbb2wsXLmyfdtpp7X322ac9f/789i9+8Yv2008/3f7lL3+Z/iwYPgoxjRkYqSCLV77yle1Fixat+N56662XHrjAZZddlsjIoOKWW27Z/s1vftPT7+p2mBd+9rOftbfYYotpHNnsBEOIgA488MD2Wmut1X7Ri17UnjdvXnI2GNHrr78+kdSNN97Yvu+++9qPPPLIClK65JJLEildeuml7ZmAiYjp1FNPbX/qU59a4eAYBDfoyqG6+eab22ussUYij6lgiBjJG1qPgdlO4ADssMMO6ecbQHa+f/vb3077+Aq6RyGmgr7wpz/9KSlH5EoRJvLXXHPNju+/8MILkwdaMD1Fgttuuy0ZSyoglEPmzJmTnAEkJcraddddkxKFqILDMZOi0omI6eCDD27PnTt3xb9FLpQfnve857XXWWed9lVXXdX17zjnnHPau+22W/vOO+98DjHl/954442TioevyQT0kkkomD6K8kNBX1C3UEhXVM9h+PGyyy5baWYKdDtph1Y/KZg+tPurg4TIrBrUVlttldqaFfJdA9B9N2/evPRSnyl4tpaklnfUUUe13vSmNz1ngZ9zqwliwYIFqTmjYPQoyg8FQxnmrULhngimGR7GU0dUQf/QKWYRnVUpzi0V+re+9a1ppxeyouxgiFpnmU7N0tTyP+y8886JcDQxIPFQ4EBIQHbIva3poaAelK68gpFs4yXbY6unrjJSL/TkePxN3pA6U8Djt+HYizwPaSodmr6u69JLh1nB/yCC1Ll67LHHpqFZChjR5bho0aKOyigFo0OJmAr6wkTzJBMN6ZrPMTulRZpRMMx4ySWXlLM/YCAjowDV9FQ3reWzDaSNzI8hp9gITdjWDNNFF12U5pYK6kEhpoJpzZNU0e2QrveYGSkYLxA9FYl0KwwrsvP+eFHLGCVo3tmtRQRWZCk1ShOPBl5BfSjEVNAXGBSqBYZ5AxMN8zI2NsDmuOmmm9JwY8F4wcoUoqfdgiSQyNt95CXdO2poGrHWguKD+5Qif0G9KMRU0Bek5TQx8DYff/zx1oMPPpj248jXg+JybPJUREZOsd2Vd0qmRhG6YPZCHUfNsR+ZpUHD/iyRkjpdQf0oxFTQNyhV0yizJE1H2Pbbb5+aHIDO20MPPZT+vu+++6Z8vh025HSuueaa1CnWr2AsWR1dabr8JoMV2FKOq666amvu3LlJTqagObjnnntSF2dT0I8yecFwUOaYCmYktPrSOKMN2Am0zRS2zVqZqVq4cGFKPd58880j/6yzDd1soo3lfGo6QPvPrJv29oKCEjHNAMh7GwQMz59Mvy4irdZk+QueC4vwTjnllNYb3/jG1EFokZw5FevPC5qB9ddfv3XjjTeme9ig9nHHHZc26hYUFGJqOAz/qdecfvrprb/+9a+JjKgjv/jFL07NA4xuwXPPmXXm1LlzlNXx04O64Etf+tKOL+naXqGtXf2RKjiS4khQWS8oqL/qWDApzAVZVLbZZpulf3twrRAg82+QsqDzOWMszUzlUM+gjFBQ//qKTigjBAWBEjE1HHLvCv30vcDfkZJ03lprrZW+tuOOO640C2K4kvcJJv7l7mO41ebNTssEZ7MqRcHosWTJktQ8k6OMEBQESsQ0A2AlNuUERWVbSKuw8CxAg87KbnMZYNGZtJ86FZJbvnx5SruYGfEzxxG9qlIUjK7up55kXEDqzhLE17/+9a0NN9wwdWoSVS01pgIoxDQDYFunIjEiuffeexNRTVRb2X///VO3EwkaA4MEVdUGAltvvXVSVtb9NK7EZDZGykm0mEvxlNXx9YLSR6iF0KbTzs9J+t3vfpfqpVQjfL2goBDTDIGuPAV9g4CHH354kuSvwoO9xhprpEl2sKpbBFWttYC61VNPPdX1OuqZBKlMHrkOPF55ACFPNftUMH1IMXdqFY/0csBsm1dBQRWlxjSDsNpqq7UuuOCCFBEhlhyPPvpomgmx7iCHOR9prepLNDFOpOR8bLPNNilVCQcffHDa/fSrX/0qHa92cSk+Q77DGuglr+N9eb2PM1FQUNAbCjE1HGR9cuOmswyp0KTLIT9PEkjElLfjXnnllc8hMTto5PnHCWpmSEgdCbbddttETMhKs8idd96Z9hT1g2XLlqV1ElPBXiQ1vdB981I/KSgo6A0llddwrLLKKmmO6bvf/W5rzTXXTCk8ish5Ed9eI6oGd91113PaewlS7rrrrknOX8TFyFJEqHZEzUTlh6qcDL2+HLGLaFRATIr5BQUF00OJmBoOu4vsi6H4IBoignr++eev9J4DDjigdd999yVliEghhUGW+pPzpwZutofnr+ic114KxlP7raBgpqJo5RUUDECbD3SUqfX9/e9/T/NiZ555Zsf1800Hx0WjAqUR9TWqI6uvvnrH9+oSlUImkWVAVop4u+22G/lnLhgvlIipoGBAsPJDF6S2aErr6lzVWmDTIRqX5iV++8ADDyStQZ1zdAarcGxIyPqSxx57LKmSzJ8/v/Xzn/+8ls9eMD4oxFRQMCDQ4qNlKKWqjseoGxydSRApISYpSYPZIkWdhtX6JVx66aVpU61dWzo8yWZJFY9bY03B6FGIqaBgSJiJ2m/IZb311lvpa2qbnXZZac2vziEVodyCQaAQU0HBACB1V+0KJLI709bHqycZUA7YTkzDrpMig1RftYZG9src2ExLYRY0C4WYCgoGMND7mte8JnVC0oIzS2XlvPdoHpjJIHElCjJqUEURyy0YFgoxFRQMYKD3+OOPT9GRyEJ7vmjC7Jn6zEzdqSR6Moy9aNGinsRyH3nkkSKWWzAtlHbxgoKC58BqFB120pGxXqUKREbZgtpF4C9/+UvSKZxptbWCZqFZ7lxBQUHt0O695557JgmniUgpJK9++MMfrvQ1QrkU7AsKpoNCTAUFBSvw0EMPpXUoixcvTpJWnXYqhbK9hg97vsw+0W+85ZZbUtqvk/J9QUEvKMRUUFCQ8M9//rM1Z86c1h//+Mekz5irpB933HHpPVJ09ieBdSqXX355Uoow87T33nunv6+77rrljBZMC6XGVFBQUFDQKJSIqaCgoKCgUSjEVFBQUFDQKBRiKigoKChoFAoxFRQUFBQ0CoWYCgoKCgoahUJMBQUFBQWNQiGmgoKCgoJGoRBTQUFBQUGjUIipoKCgoKBRKMRUUFBQUNAoFGIqKCgoKGg1Cf8PoeqgLMiRQigAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import matplotlib.pyplot as plt\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111, projection='3d')\n",
    "ax.scatter(data['size'], data['distance'], data['price'], c=data['price'], cmap='terrain')\n",
    "ax.set_xlabel('Size')\n",
    "ax.set_ylabel('Distance')\n",
    "ax.set_zlabel('Price')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "338d352e-b65a-4ad9-a39b-e760cca7beec",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAHGCAYAAADaLZfEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbnhJREFUeJzt3QmcjdX/B/CPdQzZ98bYsoYoipgKoUIoQqQF0aK0KKlUVIQWJZFSllL6E1rQgn52kSRbyDr2dWyDwfm/PufpXveOOwtm5m6f9+t1zb3Pee59nruY+51zvud7MhljDERERETEbzL779AiIiIiQgrIRERERPxMAZmIiIiInykgExEREfEzBWQiIiIifqaATERERMTPFJCJiIiI+JkCMhERERE/U0AmIiIi4mcKyEQkYCxYsAAPP/ww9uzZc1mPc+LEiWTbk1qghNt3796N48eP4+zZs+7tZ86cwdGjR7Fv3z73tkOHDuGvv/5K9TlNmDABHTt2xLlz53y2r1692h4jsV27dqX42P/88w/27t1rz5vn6np+/MnbfD3279+PDRs2ICEhIdXnLCIZRwGZiPjF4cOHbVATHx/vDiKyZs2KTz/91AYvvM3ggUEGg4mTJ09e8BgDBgxA69atsXTpUve2Y8eO4corr8S9997rFVQlDvwiIyNRuHBhFCtWDEWKFEHBggWxdu1aVKpUCVdccYU9l0yZMtlLtmzZkCdPHtxzzz3ux/joo49Qq1YtvPjii3jrrbfQqlUrdOjQAffddx/atm2LW2+91QaWfG4UFxeHrVu3InPmC3/tzpw5E1WrVsW4ceO8tjOQKlmypH285Nx8880oWrSoPW+eK4/B8+ZP3s6VK5d9rhUqVMDp06dT8e6ISEZTQCYifvHaa6+hQIECyJkzpzuIqFOnjm175pln7O3s2bPbIIPBxG+//XbBY3DbTz/9hFKlSrm3zZgxwwY/3333nQ3kfLn66qsxffp0u8/3339vg5lu3bq5t69cuRLTpk2z+3711Ve29+qPP/7Ae++9536Ml156CcOGDbO9ZOyd+vfff1G2bFmULl3aPt7s2bNtbxifAx8rR44cSb4WjRo1ss9x1apVXtvnzZtnA7rnn38+2deSwSWDUwa4nj13c+fOdW/74osv7DYGZyISeLL6+wREJDwxMKhcubINipKzY8cO1K9f/4LtBw8etAHHQw89ZHu4iL1qgwYNQo0aNXDLLbegX79+ticrMVcg+M0339j9GMD17dvXttWtW9c9VBgREYG77rrL/vTlkUceQffu3fHKK6+gevXq6N27N06dOmV76T788EPkzZsXuXPntj8ZFCUOtiZOnGjbGLQ9+uijNoDr1auXfW4ff/yx7SmsVq2afa3+/vtv20vIc42JibkgwGNQli9fPnfvI/HYrm0KxEQCmwIyEfHPL5+sWZElSxZ3wJAUX3lV9OWXX9rgp0ePHl7b/vzzTzskGRUVZYcfr7nmGhs4JcYAZfz48RgxYoQdKmSARj179rTDehy+ZO8ce6c4dMrzeOedd9zBH4cj2RPGoUE+D2KAx8Bu4cKF9jZ7+ZJ6fnw85n4xaGIPIV8P9obxWAy6tm3bhq+//toOuzIo8xx+ZbDIoVZPTz/9tL14uvbaa5N9bUUkcGjIUkT8gr1BHKLjUF1yl+uuu+6C+zKvjD1hVKVKFftz+fLlNvDq06ePHfqMjo62ARR7ntiLdeTIEa9gqFy5cjaAYvDFIMuVq8ZgisOTzOlq3769DYR27txph/xcgReDsfLly9vcri1btrgflz1p+fPn9zpXBmy+NG3aFL/88ovNPWvRooXNnWOAxx6yWbNm2V43BlQM0nipWLEiXnjhBZtX5goKPQ0ZMsTm4/Gybt06u23JkiXubXyuIhK4FJCJiF+wJ4hJ8Rxm9LwwJ4wBFHu/uI9rhqDnsGX//v3tUKYLk/qbN29uhx+Zm+bCAI37jho1yvaYDR482G5/7rnn7BBfgwYNbMDF+7E3jHlhDKoYLL3++ut2+JI9cK5eOFdAxvuyN4r5Z6NHj3Yfjz1drn1Sg4Ee8+UYgLkmEdx222349ttvbcA6cOBA974MKDnUymMnnhjAfXlxBW+u3jT+TLwtqRmmIuJfCshExC/YI8VhwvXr12PNmjXYtGkTtm/fbvOfmD81fPhwmyzPYIzbWLKB1z/77DMbWDF5nsaMGYN69erZGYR333237bVi6QpiDxeDG+ZicZYkc6+IPU08JvO8aPPmzXZigCt/jHhMlqngeSXGx2J+GodHmTfmwkAptQHZgQMH0KxZM9sD+Mknn9hg7v3337c9eiz98cYbb9heOQZtDLb43Dl71BeeK8+Dw5+8uHoN+Xxc2zjrNLkhYBHxLwVkIuIXzJNiQjtnNzLPi3lSHAZs166dDXjY08VhOl5cuWBTp061t1lS4tlnn7WPw+E+DvOxdASDDfZauYb0GOSwd4jByMaNG90BF4M5TijgECEx4GHO1o033njBeboCP19cJTJcvU9MumcPlguPzcf21SvFWZHs9XJNJqBOnTrZ3jrmwJUoUcLO8FyxYgViY2NtbyFfH0+cPMDHYFDLnzw+93MFkQwYeXwOyzIAZoDLc+H9RCSwKCATEb9gLxZrfzGPioELAwYOMZYpU8YGa7wwwOKQJdsYVHBGJXvDfv75ZzvERxzGY3DDWYcMjAoVKuQe0uPsRc9hxqSwXAVnQbKXzRU8uWYq8hyTwiFFlrRwBTjMLfPMIeN2Pg5zuHzlfDGIvP/++3HnnXfaBH/OumRgxUCPQ6cMIOfMmYNly5bZ82fQ6ok9fQxqixcvboNYvgYMQvl8iDlorvIhnMTAQJWTDJ566qmLeKdEJCMoIBMRv+AwIXuBGEC4sJYXt7sKsrouDE5YJd8VXPkqrkrchxMBUkqo94WBjesxiD1mPK7n4zGvzdPYsWNtAj0DRlcuGwNKBkC1a9e2+zOodLV74nNgj9eiRYtszxWDJ9dEAhfXkCuDPvYKJg4qGZCx54+zLjkEyuCNz4NDvq6AkY/L4JelNLgfh345YUBEAosCMhHJcOwx4uzEq666yr2NvVuLFy/Gm2++aYMG14U9SAxw2AuUEg7Rcfbk5eAQJQNF9l5xmJTBDHuVmGzvGZBxGJG9WrfffrudNMBZnxwuZZ4ah1Efe+wxm5fG58rVBJLC8hUMrLgfe9Q8l0riECa3sTyHr14tnidfQz4Gi8G2adPGThJo0qSJbee5sceQqwdwKJP78fVh9X8RCSwKyEQkw3EIjsOU119/vXsbe4E4TPnggw/aoMF14ZAfS1gk7u1KvCYkJwSwh4jLCF0ODoeyV4yJ9gyqGIgxYGKNM89AhkEYAxwWhGWw88ADD9jgiMsrsZYZh1dZlJbDiOwNS2oZJ64KwCR+HoPJ9w0bNrS9XcSZpAxGXfv5ykVj7xuXb2rcuLENyNj75Xpt+JOTILjSAHPmGNRxFit7IUUkwBgRkQzWu3dvU6BAAXPu3Dl7e/PmzebKK680PXr0uGDfihUrmkaNGl2wfdCgQYxO7PWEhAQTExNj8uXLZ/bu3eve54EHHjBVq1b1eQ4bN240L730kvsx6J9//jFdu3Y1mTNnNo8//rjd9ttvv5lChQqZMmXKmFWrVtltx48fNwULFjTt2rUz+/fvN40bNzYRERHmjz/+cD/Wa6+9Zq6//nqzdetWM2zYMHt+t9xyi9c5zJo1yz5OmzZt7Guxfft2c+ONN9rXY+bMmaZIkSLm5ptvtufC8+Tr8PPPP9t9T506ZV599VVTrFgx2/bcc8+Zs2fP2sf9+++/7bb58+e7X9+GDRvabbw88cQTF/V+iUj6U0AmIhkqPj7eFC9e3AZLZ86cMaNHj7YBT82aNW2gQ4cPH7YBRpcuXWwA8corr1zwOH379rVt+/btM02aNLHXx4wZ47VP27ZtTbly5XyeR79+/ex96tata29/8MEH9nbRokXNuHHjvPZdu3atDXzuvPNOe/vIkSOmZ8+eZtSoUfZcGUh+8803Xvdh0HT06FH7HKOiokyuXLnsMVz4vBn4tWrVypw4ccK9fd68eaZly5b2XNq3b29Onjzp9Xzz5Mlj1q9f7z7nwoULm4kTJ3ode8mSJXZfBm+epk+fbpo3b25Wr16dzDskIv6ggExEMhR7a9jrM3fuXHubQQ0DqkOHDnntx23sPbrnnnsuaKOnn37a3QtUoUIF8+abb16wDwMb9mz5wp60P//8092rxADq66+/9gqOPLH3bM+ePZf0nNlLdvr0aa9tPB4DSNfxXdsYhFaqVMl89913FzwOe80+//xzr22+Xhv26vG1mTp16iWdr4hkvEz8x9/DpiIil4PJ9kktAB5sXFX3XWU9RCQ8KCATERERCedZlqyfwzXjWDeH1bc5i8mFlapr1Khh6+5wJtbvv//udV/OcOKMJxY7vOuuu2xBRhfOeHryySdtgUYWdeS6dZzR5cKlSLhkCZdtYQFFLr3iKaVji4iIiIREQMap2qyRw7XnWOfn66+/tmvDcZFdBlcMsjh9m1WrueBvy5Yt3evTsT4QK3P/8MMPdn03FlPk/i5cioRLibBgIy9cs85zeRLWBOJUdU4t51R7LiLMx6SUji0iIiISMkOWrIUzYsQIuzady5QpU2xV6quvvtr2Yg0bNszdxho9rMfTv39/WxeI6995FlusU6eODdJYlJEFJFl3hzWCiIEXlyJhIUrW8unevbstouiqa+QK8ObOnWsrWyd37NRg/gcfgzWFLqZSuIiIiPgPQyKurnHllVcmuSJIevFb1mhSRRK5nty8efNstWlPLHjIYovsRVuyZInt2Urczt41LvTLAoiuYIw4bMllTBYuXGgrebOKtmegxIKKHTp0sAvzJnfs1AZkDMZYyFJERESCz/bt2+1KGGERkLEni9WpP//8c7teG4cWe/fuja5du2LcuHEXLH/CHLNNmzbZ3i4uY8Lq14nbJ0yYYNef87V0iuv+bK9Vq5ZXG9fH4/pzW7du9Xl/132Tm+HluaSKq9ORbygX/BUREZHAd+TIEduhwhGujOa3gIyBCtd969Gjh+2RYo8Vp3lzKJIL4zLh3hMT7LnWGy+J29K73dWWFA5zsufO13NUQCYiIhJcMvkh3civsyyvu+46O4zInin2eL333nu294sBEIcPPbFnjIGSr7b0bne1JaVPnz52DT7XhT1jIiIiIkG1uDhnMjI469ixo73NchaJF7/lbZaoYD4YFxtmaQtf7b7um1I7H4uzKEuVKpXssZPCgpSu3jD1iomIiEjQBWR//PGHrT82cuRIr/wyVxkKl0mTJqFRo0a2G5E5YLNnz/bZzvphLHPByQEuBw8etBMB6tat6/OxOeOTZTAYWCV3bBEREZF0YfyIa7jVqlXLfPzxx17bd+/ebRcf5kK4CQkJ5vvvv7eL87rWkZsxY4Zd640L/nKh4v79+5uYmBj3/Xv37m1at25t9u/fbxce5np2L7/8sru9Tp06ZsCAAfa+XGSX6+C5FuFN6dipERcXZ9eR408REREJDnF+/P72a0B27Ngx8/rrr/ts44LB1atXNxEREaZmzZpm6dKlXu0jR440JUqUMJGRkaZVq1ZeAdOpU6dMjx49TN68eU3+/PlNr169zJkzZ9ztsbGxpmnTpva+pUuXNmPHjr2oY6dEAZmIiEjwifNjQKa1LNNp2iyXg2KCv2ZZioiIBIcjfvz+9nsOmYiIiEi4U0AmIiIi4mcKyERERET8TAGZiIiIiJ8pIBMRERHxMwVkIiIiIn6mgExERETEzxSQiYiIiPiZAjIREREJfGvWIJQpIBMREZHAFR8PdO8OVKsGzJmDUKWATERERALTunVA7drAqFGAMcDy5QhVWf19AiIiIiIXGD8eePRR4PhxoGhR4IsvgEaNEKrUQyYiIiKB4/hxoHNn4P77nesNGwIrVoR0MEYKyERERCRwfPcd8PnnQObMQP/+wM8/A8WKIdRpyFJEREQCR/v2wO+/Ay1bAvXrI1yoh0xERET859gx4JlngEOHnNuZMgHvvRdWwRiph0xERET846+/gLZtgfXrgW3bgEmTwvadUA+ZiIiIZCyWsPj4Y6ekBYOxEiWAp54K63dBPWQiIiKScY4cAbp1AyZOdG43awaMGQMUKhTW74ICMhEREcm4Qq/NmwP//gtkzQoMHOjkj2XWgJ0CMhEREckYRYoACQlAqVLA118Dderolf+PAjIRERFJPyzumjOnM3uyQAHgxx+BqCggf3696h7URygiIiLpg/XEqlYFRo8+v423FYxdQAGZiIiIpP0sStYSi4kBtmwBhg4FzpzRq5wMBWQiIiKSdg4edKrsM1mf+WJt2gALFjhJ/JIkBWQiIiKSNhYtAmrUAL7/HoiIAD76CPjmGyBvXr3CKVC4KiIiIpdvxw5nuaPTp4Hy5Z1AjMGZpIoCMhEREbl8nDnZp49TeZ9V+HPn1qt6ERSQiYiIyKWZOxcoXtzpEaNXXnHKW/AiF0U5ZCIiInJxzp4F3ngDaNDAWRz85Mn/oorMCsYukXrIRERExB1nzZsH7NrldHzddBOQJUuiF2fPHuC++4Bff3VuV6vm3FEuiwIyERERwbffAj17ArGx51+MEiWA998H7r77vw2zZwMdOwK7dzvV94cPBx58UK9eGlBAJiIiEuYYjLFcGOu5Jp44ye2TJp7F3atfB/r3d3aqUsWZRXn11f465ZCjHDIREZEwxtFG9owlDsbIta3XM+dgZsx0NnTp4iyJpGAsTamHTEREJIwxZ8xzmNKbgTGZsDk2GxYPmYgbzy0AOnTI2BMME37tITtw4ADuu+8+FChQACVLlsQ777zjblu7di1iYmIQGRmJKlWqYPr06V73nTp1KipUqGDbGzZsiA0bNni19+/fH0WLFkWePHnQuXNnHDt2zN125MgRdOzYEVdccQWuvPJKDBo0yOu+KR1bREQkVDCBP7EsOIM38BIG4EX3ti2mlIKxUA3IHnjgAZQrVw7bt2/H0qVLMW/ePIwdOxanTp1C06ZNce+99yIuLg4jR45E165d8ffff9v78Wf37t3xySef2Pa2bdvi9ttvx8n/pt1yfwZsixcvRmxsLDJlyoSHH37Yfdxu3bohW7Zs2LFjBxYtWoRJkybhYxaxA1I8toiISCjhbEpPUYjFHDSw4VgfvIUqWOVzP0ljxo9y585tTp065b7966+/mpYtW5oJEyaY5s2be+07YsQI06lTJ3u9W7du5u233/Zqb9eunRk9erS9XqFCBbNs2TJ32+nTp010dLTZuHGjiY2NNUWKFDHx8fHu9jVr1phSpUrZ6ykdOzXi4uI46m5/ioiIBLIzZ4wpUcKYTJmMuQM/mn0oyEwxE4fc5h5MtNujo539Ql2cH7+//dpD1qxZMzz//PN2CJG9ZAMGDLDDjOwpa8mV4j20adMGs2bNsteTa9+7dy+OHz+OmjVrutvYG9aiRQvMnj0bCxYsQOPGjZEjRw53e+XKle3wJYc9Uzq2iIhIKGGdsQ/eScAg8zymoxkK4QD+wHW4DssxKVNbu8/QoT7qkUma8mtANnz4cEyePBl58+a1OWS7du3Cq6++im3bttmhTE+FChWyQ5IcUuRQY9myZb3aK1asiE2bNvm87+W2ex7bF25nUOl5ERERCQrG4K7RzfEchtibH+AJ1MVC/Itytg7ZpEkedcgk9AKyM2fO4M4770SHDh1scv/WrVttHhh7uOLj45GTBecSYZI9286dO4fMXJ7BR1tK973cdl8GDhxog0rXJTo6+iJfDRERET/hupP33w/kzYuz/zcZ18z5AGMmRGDOHGDzZgVjIV/24ocffrBBjmuGI2davv7663Z2Y7FixdwJ+p4OHjxogyUGY8YYm6zvwqCObXxMX/f1bD9x4kSy7ckd25c+ffrgmWeecd9mD5mCMhERCVinTwObNgGVKjm3WX3/ttuQpVAh1Pf3uYUpv/WQ/fPPP7iJi2R5yJUrF/Lly2evb2ZY7mH37t02aMuePTuioqLs0KIn7s9hTA59Jr7v5bZ7HtuXiIgIW17D8yIiIhKQGIjVqwc0bAjs3Xt+e6FC/jyrsOe3gIzBz7p167y2sWeKNcBYm2zmzJlebSxN0ahRI3udvWhJtRcpUsQGTgz4PIdHp02bhltvvRX16tWzCfrc5rJq1SqbB8bcseQeW0REJKhNngxcey2wbBm/dIFENTzFj4yfsOwEy1N8+OGH5siRI7YcRdu2bU2rVq1sW9myZc3YsWNtyYqFCxfashWrVq2y9125cqUpUaKEWbx4sW1nuYvy5cubkydPustUxMTEmO3bt9vHfuSRR8x9993nVSKjR48e5ujRo2bbtm2mTp065tNPP3WfV3LHTg2VvRARkYDCUk+PP27LWdjLjTcas3Wrv88q4MT5seyFX+uQrV+/3jRp0sRERkaaqKgoGyQxgKLVq1ebevXqmYiICFO5cmUzY8YMr/tOmTLFBmE5cuQwDRo0MBs2bPBq79evnylcuLCtdda5c2dz7Ngxd9vhw4dNhw4dTK5cuUyxYsXM4MGDve6b0rFTooBMREQCxvr1xlx77flgrHdvFuj091kFpDg/BmSZ+I8/e+hCEZP6OduSlf6VTyYiIn7VtSswerSTIzZuHHDHHXpDAvD7W4uLi4iIhLJ33wUSEoABA4CoKH+fjQRiYVgRERFJY5ww17u3M0BJ7OkZO1bBWIBTD5mIiEioGD8eePRR4PhxoHRp57oEBfWQiYiIBDsGYJ07OxX3eb1BA6BVK3+flVwEBWQiIiLBbPVq4IYbgM8/B7isYL9+wC+/AMWL+/vM5CJoyFJERCRYffMN8OCDANdaLlYM+OoroL4WPwpG6iETEREJViVKOOtSNmkC/PWXgrEgph4yERGRYHL0KJA7t3O9bl1g/nxnyJLDlRK09O6JiIgEA5ax+PhjZ/Yk88Zc6tRRMBYCFJCJiIgEuiNHgHvvBR55BDh40AnMJKRoyFJERCSQLV8OtGsHbNwIZM3qVNx/9ll/n5WkMQVkIiIigTpEOXy4E3wxcb9kSeDrr4Ebb/T3mUk60JCliIhIIJo4EXjiCScYa9EC+PNPBWMhTAGZiIhIILrnHqecxdChwNSpQIEC/j4jSUcashQREQmUIcpx44D27YGICCBLFmDGDM2gDBPqIRMREfE3zpxs2dKput+r1/ntqi0WNtRDJiIi4k8LFzq9Ytu3A9mzA5Uq6f0IQ+ohExER8Ydz54DBg4Gbb3aCsXLlgMWLgccf1/sRhtRDJiIiktH27wfuv9/JESP2kLHYa548ei/ClHrIREREMtqxY8CiRUCOHE4gNmGCgrEwpx4yERGRjJpFmSmTc53rUbLIa/HiwDXX6PUX9ZCJiIikuz17gDvuAGbOPL/tttsUjImbeshERETS0+zZQMeOwO7dwLp1wIYNQLZses3Fi3LIRERE0sPZs8BrrwGNGjnB2NVXA9OnKxgTn9RDJiIiktZ27XJ6xebMcW537gwMGwbkzKnXWnxSQCYiIpLW+WI1agB79wK5cgEjRwL33afXWJKlgExERCQtFS0KNG8OLFsGTJyoyvuSKgrIRERELldsrLMgeOHCzm0OT7LERWSkXltJFSX1i4iIXA4m6nOIslMnZzkkYq5YZKTN6//tN+Crr5yfvC3iiwIyERGRS5GQADz/PNCsGXDggJMzdvCgu/nbb536rw0aAB06OD95m9tFElNAJiIicrG2bQNuuQUYMsS53aMHsHAhUKiQvcmgq00bZyTT044dznYFZZKYAjIREZGL8d13zhAl16LMmxeYNMnJGeO6lP+VH+vZ01kpKTHXtqee0vCleFNAJiIiklqnTwPPPgscOgRcfz2wfDnQurXXLvPmXdgzljgo277d2U/ERQGZiIhIamXP7pSyYFA2fz5QtqzPmrCpkdr9JDyo7IWIiEhymPDFZP2uXZ3b113nXJJQvHjqXs7U7ifhwa89ZFmzZr3gEhkZiV3//dmwdu1axMTE2G1VqlTBdE4t9jB16lRUqFDBtjds2BAbuGCrh/79+6No0aLIkycPOnfujGPHjrnbjhw5go4dO+KKK67AlVdeiUGDBnndN6Vji4hIiDt5EnjiCWdI8vHHgVWrUnW3m24CSpRwypD5wu3R0c5+IgERkJ05c8br8sYbb6BLly4oXrw4Tp06haZNm+Lee+9FXFwcRo4cia5du+Lvv/+29+XP7t2745NPPrHtbdu2xe23346T/A8ErlQx0gZsixcvRmxsLDJlyoSHH37Yfexu3bohW7Zs2LFjBxYtWoRJkybh448/tm0pHVtERELcxo1A3brAhx+ez8KvWDFVd82SBXj/fed64qDMdXvoUGc/ETcTII4fP26ioqLMtm3b7O0JEyaY5s2be+0zYsQI06lTJ3u9W7du5u233/Zqb9eunRk9erS9XqFCBbNs2TJ32+nTp010dLTZuHGjiY2NNUWKFDHx8fHu9jVr1phSpUql6tgpiYuL4zwa+1NERNLHmTPGzJnD39nOT95OE19/bUzu3My9N6ZgQWN+/PGSHmbyZGNKlHAexnWJjna2S2CK8+P3d8Ak9bN3ir1S0ezHtbNU5qFly5Ze+7Rp0wazZs1KsX3v3r04fvw4atas6W5jb1iLFi0we/ZsLFiwAI0bN0aO/6YoU+XKle3wJYc9Uzq2iIj4V7oVXWU9sfbtgaNHgZgYYMUKoGnTS3qou+8GtmwB5swBJkxwfm7e7GwXCcikfg4RDh06FL9xXYn/bNu2zQ5DeipUqJAdkuT+HGosm2h2S8WKFbFp0yZ733Llyl1wHFd7wYIFk21P6dgRXK8s0fnz4pmfJiIi6cNVdDVxnS9X0VWWBbvkoMeV/PXii8BrrzHZ+bLOlcOS9etf1kNImAiIHrLRo0ejQYMGKFOmjHtbfHw8cnItsESYZM+2c+fOIXPmzD7bUrrv5bYnNnDgQOTNm9d9cfXyiYhI2kqXoquef0RzKaTFi4E33rjsYEwkqAKyhIQEvP3223iRf40kCn5cCfqeDh48aIMlBmMm0f/IAwcO2Lak7nu57a5jJ9anTx+b/O+6bGfFPxERSXNpWnT1xAmgSxfgxhuB48edbfxD/4Yb0ux8RYImIBs3bhzq1Kljy1d4KlmyJDZzsN3D7t27UaBAAWTPnh1RUVF2aNET9+cwpq/7Xm6757ET4xAmS2t4XkREJO2lWdHVNWucSvuffcY6R4ByhCWcA7KzZ8/a+l8vvfTSBW2sATZz5kyvbSxN0ahRoxTbixQpYgOnf/75x93GshrTpk3Drbfeinr16tkEfW5zWbVqlc0DY25ZSscWERH/uOyiq+xC+/xzoFYtJygrVgz49VegRYu0PE2Ri2f8aPz48ebuu+/22caSFGXLljVjx461JSsWLlxoy1asWrXKtq9cudKUKFHCLF682Laz3EX58uXNyZMn3WUqYmJizPbt282RI0fMI488Yu677z6vEhk9evQwR48etaU26tSpYz799NNUHTslKnshIpI+WNqCpSQyZfIuJ+G6cDtLS/gsgXH0qDEsX+TauXFjY3bv1lslAfH97deArE+fPmb58uVJtq9evdrUq1fPREREmMqVK5sZM2Z4tU+ZMsUGYTly5DANGjQwGzZs8Grv16+fKVy4sMmdO7fp3LmzOXbsmLvt8OHDpkOHDiZXrlymWLFiZvDgwRd17OQoIBORcJduNcL+q+/FwCtxUObalmSdr86dnR0zZzbmzTeNOXs27U5KQkKcHwOyTPznEjrWJBkse8HZlkzwVz6ZiIRjWQrOhPRMvmc1CVavT6saXL6OwQnurICf5DFYF6N5c+CDD7RukQTc97cCsnSggExEwlVSNcJcSwZdVo2wRFjagrMpmcDPnDGuDem1HBHLWUybBnTqdH4bTyypRSYl7B1RQBZaFJCJSDhigMRq+UmVpWAcxJ4yTmJP93Uc//wTYIFvrknJKPGuu9L5gBIKjvgxIPN72QsREQkNaVoj7FLxIMOHA3XqOMEYxzE5k1IkwKkMsYiIBFaNsEt1+DDQtSswebJzm6UsWOKiQIF0OqBI2lEPmYiIBEaNsMuxdClw3XVOMJYtG/Duu8DUqQrGJGioh0xERNIEk+qZI8bJjL7m77tyyLhfmuNYKJPTmMQ2caKWP5Kgox4yERFJE0zUZ2kLSjyR0XWbZSnSLKHfM+rj1E0ug8Rkfq1FKUFIAZmIiKQZxkUsbREV5b2dPWNpWfICixc7gdfOnee3PfQQkC9fGh1AJGOpDlk6UNkLEQl3KdYIu1TnzgHvvAO8+CIXKQbuvx8YOzYNHlgEfv3+Vg6ZiIikOQZf9eun8YPu3w88+CDw44/O7XbtgGHD0vggIv6hgExERALf/PlA+/bOjIGICCdZrVs3Vd2XkKGATEREAtv06U5NMY6DVqgAfPMNUL26v89KJE0pIBMRkcB2yy1AxYpOnbERI4ArrvD3GYmkOQVkIiISeFi+gr1gmTMDuXI5Q5acQamFwSVEqeyFiIgEDg5L9usH1KoFvP32+e358ysYk5CmHjIREQkMu3cDHTsCs2c7t7k4OIu/qldMwoB6yERExP9+/dUZomQwxiHKceOAUaMUjEnYUEAmIiL+w+KuL78MNGkC7N0LVKsGLFsGdOqkd0XCigIyERHxn3/+AYYMcYYmWVdsyRKgUiW9IxJ2lEMmIiL+U6WKU22fy9Sw8KtImFIPmYiIZJyEBGcdyuXLz29jz5iCMQlzCshERCRjbNvmLHA5cKCzDuWpU3rlRf6jgExERNLf998DNWoACxc6w5MMyrgmpYhYCshERCT9nD4NPPussxbloUNOwVdW4W/TRq+6iAcl9YuISPo4eBC44w7g99+d2089BQwaBGTPHpALBMybB+zaBRQvDtx0E5Ali7/PSsKJAjIREUkfXHvSdRkzBmjZMiBf6W+/BXr2BGJjz28rUQJ4/33g7rv9eWYSTjIZw+IvkpaOHDmCvHnzIi4uDnmYKyEiEi6YqH/uHBAZ6dxmsdf4eKBUKQRqMMbR08TfhK7VmiZNUlAWTo748ftbOWQiIpI2uPZk3brAE0+c31akSMAGYxymZM+Yr24J1zaOsnI/kfSmgExERC7fN98A113n1BebMsVJxgpwzBnzHKb0FZRt3+7sJ5LeFJCJiMil43Dko486dcWOHgViYoC//nIy4wNcamPGIIgtJQQoIBMRkUtfh7JOHWDkSCfpihX458xxMuKDQGpjxiCILSUEaJaliIhcvDNnnJIWmzcDhQsDX3wBNGkSVK8kS1swdtyxw3ceGWNMtnM/kfSmHjIREbl4WbMCH34INGgArFgRdMEYsc4YS1t4zqp0cd0eOlT1yCRjKCATEZHUWbMG+OWX87ebNgVmzQKuvDJoX0HWGWNpi6go7+3sGVPJC8lIGrIUEZGUsbDr4487Vfa59FHp0r67loI0KGPNWlXqF38KqIBs69at+O233/DAAw/4+1RERISOHXMCsXHjnNeDdcZcRV9DCIcv69f391lIOAuoIcuePXtiz5497tsLFixAjRo1EBkZieuvvx6/u9ZD+8+oUaNQsmRJ5MqVC3fddZfXfRMSEvDkk08if/78KFiwIJ577jmcYRLqf3bu3IlmzZohZ86cKFu2LMbwrz8PKR1bRCTk/f03cP31TjCWOTPwxhvAzJlA0aL+PjORkBMwAdn06dPx77//4plnnrG3GVwxyHrllVfsUgYvvfQSWrZsid27d9v2mTNnYsCAAfjhhx+wf/9+VK1a1e7v0rdvX6xfvx7r1q2zlzVr1thtLq1bt0b16tVx4MABTJs2Da+//rp9zNQcW0Qk5H36KXDDDcC6dU6OGMtZvPSSMtxF0osJACdPnjTly5c38+fPd28bMGCA6dGjh9d+vXv3Nn379rXXmzRpYiZNmuTVXrt2bTNr1ixz6tQpU6BAAbNr1y532/79+02hQoXMsWPHzMKFC021atXMuXPn3O0zZswwN910U6qOnZK4uDhOoLY/RUSC0mOPsRKEMbffbszevf4+G5EM4c/v74DoIRs8eDBuvvlm1KtXz71t3rx5tlfKU5s2bTBr1iwGkViyZIkdcvTVvmLFClSuXBnFihVzt3HYsnbt2li4cKF97BYtWiCTRzJq48aNsWrVKpw8eTLZY4uIhCzPYlzvvAN88gnw449OnTERSVd+D8i2b9+OgQMH4qeffrL5Xs8++yzOnTuHbdu2oVy5cl77VqxYEZs2bbLDjPny5UOOHDl8tvu6b0rtWbJkQZkyZezEguSO7cupU6fs0KbnRUQkqAKxjz5yyli4VtLm79euXZ3cMRFJd37/n8bcLfZO/fHHH1i+fDnmz5+P4cOHIz4+3ibce2KCPbf7akvvdlebLwwo8+bN675ER0dfwishIuIHcXFA27bOTErm0X71ld4GkXAse8GEeibds3eMRo8ejbZt29oAiMOHntgzxkDJV1tq2zkr81Lu72rzpU+fPu7JCMQeMgVlIhLwli1zFgVn7z8r7w8aBHTs6O+zEglLfu0h27dvny1Z4QrGqEqVKoiNjbWB02aukeaBt1migvlghw8ftqUtfLX7um9K7XwszqIsVapUssf2JSIiAnny5PG6iIgE9BAl1wxiTTEGY6VKAfPnA/zDMgQKvYoEI78GZAysDh06ZC8uLE/BgCgmJsZdhsJl0qRJaNSokU3Gr1WrFmbPnu2znfXD+Diej3vw4EE7EaBu3bo+H5s5bCyDweAquWOLiAS9554DnnqKf4kCLBfEyvu1a/v7rETCm/Gzp556yrRo0cLs2bPHbNq0ydSpU8eMGjXK7N692xQvXtxMnz7dJCQkmO+//95ERUXZ/VxlKipVqmTWrl1r4uPjTf/+/U1MTIxXmYrWrVvbchf79u0zLVu2NC+//LK7ncdheQved/Xq1aZChQrm559/tm0pHTslKnshIoHqzBljfv/sb3MqZz6z/slh5kzC+fI/IuEuzo9lLxAINch69uxpChcubEqXLm3effdddxvrklWvXt1ERESYmjVrmqVLl3rdd+TIkaZEiRImMjLStGrVyitgYi0y1hLLmzevyZ8/v+nVq5c5w99E/4mNjTVNmza19+Vxx44d6/XYKR07OQrIRCSgnD1rzNKlZvJkY0qUcMqL5cFh+5O3uV1EjF+/vzPxH3/30oUaJvVztmVcXJzyyUTEvw4cAB54AOdm/oR6Z+dhMep4NbtSxiZNchbZFglnR/z4/e33shciIpJOmKhfo4Yt7nr6bBaUxb8X7OL6k5wpZa4SZCKS8RSQiYiEmnPnWCARqF8fiI3FiegKqI0lmADfJS0YlG3fzhVSEDAYHP72m1MWjT8VLEqo83sdMhERSUN79wL338+p487tjh3xY8MRWNkld4p33bUrMN6Jb78Feva0saRbiRJOpQ4Nq0qoUg+ZiEgoYTTDYCwyEvj0U2D8eBQum3IwRsWLIyBOv00b72CMduxwtrNdJBQpqT8dKKlfRPyG44+9egEPPQRUrWo3cbivdGknqPE1jYuJ/eyBYj3sLFngN67zTByMBdp5Sug6oqR+ERG5JLt3O4uAHz16Pmp55x13MEYMXjjc52r25Lo9dKj/gxzmsCUVjAVqrptIWtGQpYhIsPr1V2cW5ejRzjTJZDD3iqUtoqK8t7PHKVBKXqQ2hy1Qct1E0pKS+kVEgs2ZM0C/fsCbbzrdRuwN43JIKWDQ1bKl08PEoIY5Yzfd5P+esYvNYQuEXDeRtKaATEQkmDARrEMHYO5c5/bDDzvjkUziTwUGX6yGEYgYHLLHLqVcN+4nEmo0ZCkiEiwWL3aGKBmMXXEFMGECMGpUqoOxQBcsuW4ifg/ITp8+7XX7zz//xK233oq9rHsjIiLpWxy1ZBkga1YnKPvjD+Dee0PuFQ+GXDcRvw9Z3nzzzbjtttvwwgsvIDIyEosWLcKqVavwxBNPIFeuXHafc+fO4dChQ5g2bVq6nLCISDhwFUc9FnsIh5HfbitRoig+e2EWGncvC+TIgVAV6LluIn7vIcuRIwf+97//oXr16li9ejU+//xzPP744/jll19QpUoVe5k4cSJuueWWdDlZEZFQkNKyQK7iqNVjf8BGlEN7fGW3M7fqtqevxrfTQzcYS5zrxk5A/lQwJqHuogrD3n333fj2228xdOhQvPbaayhUqBBWrlyJUqVKYd++fXaf3Llz46irHk6YUmFYEbnUZYEYnJUvdRqP7+iDZ/GubZ+NBrgVs/grW8VRRUL0+zvVQ5YMws6ePWsvzCXLmjUrsmfPbi+eMiXOxBQREa+er8R/BruWBWKO1JWnt2DCjvaogyXO7170RG8MssFY4uKogTpbUkTSacgyISEBX375pR2uLF++PFasWGGHLIsWLYoRI0bYIG379u3YunUr2OHG68wlExERB3u+2DPma0zCtW16t6m4tsu1Nhg7hHxohSl4GkNxGhEX3EfFUUXCMCDLli0bli5diunTp6N06dI2EMuZMyfeffddDBgwAMeOHUPZsmVRrlw5xMfH2322bNmS/mcvIhIkUloWqJJZg08P3IWIE4exGLVxLf7ENLRKcn8VRxUJ46T+unXrYvDgwTZPbMmSJTYwi46Oxtdff2170Xg5c+aMHYMtU6ZM+p21iEiQSalHay2uxmA8hzVNn0WHqLnYlqm0z/2YFRIdreKoIgj3Sv3169fHzp078d1336Ft27b46quvbCkMT64SGCIiknSPVmtMwlJcj20oZW8zV+yG5zLh7YNOThmDL88hThVHFQldqZ5lef/99+OKK66wpS4efPBB7Nmzxyb2c6alCx/q5MmTOHHihC1/Ea40y1JEfOWQlS7tJPBnNyfxLp7BYxiBRaiDmzEXZzNls7MtN292Sjz4mo3JnjFWqldxVJEwnmXJE8uXLx+yZMliE/bnzZtnc8datGhh648xGOOFMzDDveyFiEhSywL1ab0eE9EWNfCX3T4HDdwzKD2XBVJxVJHwclF1yFyBGYcsWe5i/Pjx6N+/v61D9sorr6BRo0bpd6ZBRD1kIuLThAlI6NId2U4ew14URieMx8+4TT1fIgHCn9/fF724+JgxY9z1x7p06YJ169bhuuuus7MqLzK2ExEJD/HxQNeuQMeONhgzN9+Cjf+3Ag9OuA1z5jjDlBqGFAlvF91D5sLhSuaUyYXUQyYiXk6eBOrUAVauBPr2dS5cJFxEAsqRYOohIy4oXqlSJSxfvjztz0hEJFS4/t7lQuDffAP88gvQr5+CMRG5wCX9icZ8MS40fvXVV1/K3UVEMnR2I4uysg4YS0/cdFMGLFR9/Djw+OMA6zG++qqzrUIF5yIikhYB2dtvv405c+bg0UcfxZ133onIyEiv9lOnTtnLb7/9drEPLSKSoQt5p4tVq4B77gHWreMyJ0Dnzk69ChGRyw3IWMpi/fr1GDRoENasWYMFCxZg7969diFxBmSuBcU965CJiAT6Qt5pGpTxQKNHA0884eSMXXmlnVWpYExE0iypf9KkSWjXrh2efPJJvPfee6l64HCmpH6RwCjCmtTakfwb0rMI62Vj7cVHHnECMLr9dmDcOKBw4TR4cBHJKAFfGDYqKgr33nsvPvnkE9sz9tFHHyE2NhYjRozAlVdeadsrVqyIOpxFJCIS4At588/Q7dud/erXT4Poj4lpf/3lRHdvvgk89xyQ+ZLmTIlImErVb4wbb7wRX3zxBf755x97u0aNGli5ciUOHjxof7I2WZMmTWxgxv1ERAJ5Ie+L3S9ZDMKYwM8ut//9D+jdW8GYiKRvUj8Dri+//BJDhgyxw5ezZ89GtWrVbBtzx9hjxmKxq1evxsCBAy/+bERE0mkh78vZ7wJxcU4ymmumOYu+tmvHpUwu8QFFJNylqocsPj4eo0aNwll2zYO98c/Zxcaff/559z4sg/H000/bHjIGalzvUkTEHziCyA6r/+YbXYDbOfGR+120ZcuA664DmjYFDh06/4AKxkQkvXvIfvrpJzzyyCPo168funXrhujoaFSoUAG5c+fGZ599dsH+rVu3RmblT4iInxfy5mxKxkqeU5dcQZrnQt6pwgcZNgzo1QtISABKlQJ27gTy50/z8xeR8JPqpZPWrl2LGTNm2ACMpS+yZMmCmjVrukteUEJCAo4ePYrjx4/bpP9wpVmWIoFbh4w9YwzGLqrkBXvCWE9s6lTndqtWAP8YVTAmElKOBMPSSZUrV8Yzzzxjl01iEn+BAgXsyf76669YtGiRvSxbtswm/l9MMPbSSy/Z4C5r1qz2UrVqVXcAGBMTY+ucValSBdOnT/e639SpU20vHdsbNmyIDRs2eLX3798fRYsWtefYuXNnu/am5wvesWNHuxYnZ4myvpqnlI4tIsGBQdeWLbALeLMixSUt5L1kCXDttU4wxkKv7HpjpKdgTETS0CXNy2b+2MKFC3H77bcjV65cl3UCnADAnLMzZ87YCwM+Vvpv2rSpLbXBKHXkyJHo2rUr/v77b3sf/uzevbstw8H2tm3b2nPhxALi/gzYFi9ebIND9uI9/PDD7mNy2DVbtmzYsWOHDSRZZ+3jjz+2bSkdW0SCC4clWdri3nudnxddd2zIEGDrVqBsWWDhQuDJJ5NOThMRuVTGz8qVK2d2797ttW3ChAmmefPmXttGjBhhOnXqZK9369bNvP32217t7dq1M6NHj7bXK1SoYJYtW+ZuO336tImOjjYbN240sbGxpkiRIiY+Pt7dvmbNGlOqVKlUHTs14uLiOAxsf4pIkDtwwJjHHzfm8GF/n4mIpDN/fn+nuuwFZ1kWKlQoxf3YG1W4cGE75JcS9mgdOnTIDi16mjdvHlq2bOm1rU2bNnj99dfd7Zzpmbh9ypQpaN68uc1hY36bC3vDWrRoYXviODbcuHFjOyvUcziWw5cc9kzp2CIS4hYsAKZMcXrG2BNWoADw4Yf+PisRCXGpCsiYrM+EfgYtzPNKDnO1vv32WyxduhTXcWp4MtatW2eDJ87a5NwC5nW98cYb2LZtmx2G9MRgkAEchxQ51FiWwwceuFLApk2b7H3LlSt3wbFc7QULFky2PaVjR0REXHBf14LqnjlqIhJkWKpn8GDg5Zed6vvMG+vY0d9nJSJhIlUBGXuY2Pv077//2rwqX4uPMxBr1KiRvV2yZEm7GHlKARnzzzgpgPvt378fjz76KF577TVb9yxnzpwX7M8ke7axxlnishqutpTue7ntvgIyFsFlSRARCVL79jE5Fpg507ndoQPQooW/z0pEwshFVer/v//7P3z11Vd2hqVnuQsGY4cPH7ZBGAMr9o4lHob0pXz58vZC7CUbP3687am64YYb3An6nrhUE4MlBmPsUfM8hwMHDtg2Bk6+7uvZfuLEiWTbkzu2L3369LEzUD17yPh8RCQIcLkjBmCsKcZUBg5PssSFEvdFJBADsn379tkSEk899ZRX7xSr97P2WLNmzWy5CK5p2bdvXzuT8WLlz5/fBlrMQdu8eTNuvvlmd9vu3bttIJg9e3a7hBOHFkuxMON/uD+HMdk7x+uJcVutWrXsc+Dwq692z/sndWxf2Gvmq+dMRALcBx8ATz/tDFdWrgx88w3wX+kdEZGALHvB4boXXngBf/75J/744w/3ZcWKFXYok3ldt956K9q3b+9VYiIpvC+r/yfOKWOyPZPuZ7qGDv7D0hSuIVFOGEiqvUiRIjZwci2ETiynMW3aNHt+9erVw6xZs+w2F1epDeaWJffYIhJiqlRxKvA/8ACwdKmCMREJ/ICMw3X58uXD+++/b3vImBzP4Ie9VVdffbUdBvzoo4/swuOeQ4lJ4X0Y+PA+HCL866+/0K5dO/Tu3Rt33303fv/9d4wbN85OKGCtsMGDB7tnVj7xxBM2+X/JkiW2nasHrFy50tYOI66pydphrEHG3jvuz4CqTJky9nzr1q1r9+FQ6/bt220A+TITeW0hyeSPLSJB7sCB89dvvRX4809gzBgmtfrzrEQkzF10YVgm1HPYj0N07M1i8LV161Z88MEHePDBB22FfNci5MlhrtaPP/5o89IY3LFcBQOqxx9/3D7u999/b0ttcL3MLl262Ousmk/VqlXDsGHD0KlTJ3suXNCc1fRdw4bseWMvGycLMADjpAMWeHVhEVjmhBUrVszmqzEI4zEopWOLSJDi76VXXwWuugrwXNmjenV/npWIyMWtZcmgi/W62NPk6y4dOnRAjRo1bMkI9pwxqEkqCT7UaS1LkQDDhH0m7jOBnwYOBF54wd9nJSIB5ogf17JMdVI/hys5zMc8LK49yeE8lsNgjxlPnOtKMmD73//+hx49etgeMBERv/vpJ6BTJ6e0xRVXsIvcCc5ERAJIqgMy5lINHTrUDilyQe7WrVujQYMGNvjizMq9e/fa27fccovNM0tNHpmISLrhxJ2+fYG33jo/NMlZlBUq6EUXkeDNIeMMyHfeeccGY0zA/+GHH2zeF3333Xc2WOMQ5WOPPWZLR7AshYiI3zBv1BWMPfoosHixgjERCf4cMl89ZjfeeOMF21lOggGb51qS4UY5ZCIBICEB4B+NnLCTaDk0EZGgzCFjUdirrroKe/bssZeffvrJ5o+xECwxpmMJCRaD/fnnn/Hiiy/agC2jn4yIhHkAxl4x1jfMls25sKag0idEJAikKiBjYMVFwJmoz9per7zyygXrVDJnjNu4QPirr76qYExEMs7WrUC7dsCSJUBsLDBokOsXk94FEQmtxcV5YX0x1uli7S4WY+Xi4J6lLbh8EnvJVERVRDLM1KnAQw8Bhw9zOjjgI5VCRCQkAjJW5mdxVa41ycW/ixcvjilTptgCrCyeyrUnuUj4HXfcYZP6RUTS3alTQO/ewPvvO7dr1wa+/hooXVovvoiE5ixLJuqzh4xLFXF5I+KalRy+/PvvvzFx4kTcc889GDFihK3WLyKSrjZvBurVOx+MPfssMHeugjERCe0eMq5TyUKwlSpVwoEDB2z5C1+BFxfhbtWqlQ3MHuU0cxGR9HD6NGvxAAUKAGPHOrMpRURCPSBjZf733nvP9pRFR0fbpP4tW7bYBcKJuWVcxJvrRnIh7u7du9t1Jq9gVWwRkbRw7hzzJ5zrFSvyL0CAa8xGR+v1FZHwCMiYvD9nzhxbnb9UqVI24OIQJnPKuPj2INeMJgAtW7a0+WVZs6Z6EQARSYN1s+fNA3btAooXB266iX9IhdDLysXA770XeOcd4JZbnG233+7vsxIRyfjCsFzLslixYujataudTVm7dm1s2LABO3fuxLXXXpt2ZxQCVBhWMtK33wI9ezrVHlxKlHDSq+6+OwTei6++Arp1A44dc5Y/+vNPlbMQkZD7/k710kmcablgwQLMnj3bVuGPj4+3w5cMzLJnz+6+RERE4L777kvfsxYRdzDWpo13MEY7djjb2R604uOdQIwLgTMYY8/Y9Ok2GGOP4G+/ObEaf/K2iEgwS/W4IvPHTp48ifXr19vA7Oabb8aqVasu2I+zLtu2bWv317ClSPphEMKeMV993NzGmqhPPcU0giAcvmTC/j33APwdwyfCRcJ5yZo19HsERSQspSog46hm48aNbTcegzD2hHHmZdGiRW2hWE8FChSw5TAUjImkL+aMJe4ZSxyUbd/u7Fe/fpDli3Et3BMngKJFgS+/BG691atHMHEQ6uoRZJ6/gjIRCdmAjMsiTZ482WsbC8Vy9mViLBQrIumPCfxpuV/AKFcOuPNOYP9+4IsvgGLFQr9HUETCXqpzyBLzFYyJSMbhbMq03M+vVq8GDh1yrjOy+uwz4Kef3MHYxfYIioiETUAmIv7F0hbMnUpq/WxuZ4ku7hewGEWNHg3UqgV06XK++4tr5Cb6oy9kewRFRBSQiQQvxiuulYMSB2Wu20OHBvDw3dGjQKdOQNeuwMmTzqxK5o2FQ4+giEgi6iETCWJMYGcie1SU93b2nAV0gvtffzm9YkzYZ8T41lvAjz+yCnVo9wiKiCRB5fRFghyDLiayB0Wlfg5Jfvyxk31/6pQTYX39tbNQeCp7BDmbksGXZ3J/UPQIioikRaV+ST1V6hdJ8j8HULWqk33PBcHHjAEKFryol8tXHTL2jDEYC9geQREJCkf8WKlfAVk6UEAmkoxFi4CFC4FnnrnkJZBCfu1OEfELBWQhRgGZyH/YAT98OAsUAg88oJdFRALaET/2kCmHTETSx+HDTikLjjFGRgI33wyUKaNXW0TEBwVkIpL2fv8daNcO2LIFyJbNmUVZurReaRGRJKjshYik7RDlu+86syYZjJUt6+SLPfnkJeeLiYiEA/WQiUjaOHcOaN0amDrVuX3PPcAnnwB58+oVFhFJgXrIRCRtZM4MVKsGREQAH30ETJyoYExEJJXUQyYil9crxkXBXbXEXn0VuPdeoHJlvaoiIhdBPWQicmn27XOKuzZp4lTdJxYDUzAmInLRFJCJyMWbOxeoUQOYMQNYswZYtkyvoojIZVBAJiIXVyL/jTeABg2AnTuBSpWcEhepWItSRESSphwyEUmdPXuA++4Dfv3Vuc3K+6zCnyuXXkERkcukgExEUqdbNycYy5nTmUWppZBEREJzyHLIkCHYv3+/vb527VrExMQgMjISVapUwfTp0732nTp1KipUqGDbGzZsiA0bNni19+/fH0WLFrVrUXXu3BnHjh3zWquqY8eOuOKKK3DllVdi0KBBXvdN6dgiYWnoUCAmBli6VMGYiEioBmQrV65E37597fVTp06hadOmuPfee+0CnyNHjkTXrl3x999/23b+7N69Oz755BPb3rZtW9x+++04efKkbef+DNgWL16M2NhYZMqUCQ8//LD7WN26dUO2bNmwY8cOLFq0CJMmTcLHH3+cqmOLhA3miH322fnbXIdy3jzg6qv9eVYiIqHJBIBTp06Za665xmTJksXs27fPTJgwwTRv3txrnxEjRphOnTrZ6926dTNvv/22V3u7du3M6NGj7fUKFSqYZcuWudtOnz5toqOjzcaNG01sbKwpUqSIiY+Pd7evWbPGlCpVyl5P6dipERcXZ/jS8qdIUPrpJ2MKF+ZCSMbMmOHvsxERyRD+/P4OiB6yl156CdWqVUOJEiXs7Xnz5qFly5Ze+7Rp0wazZs1KsX3v3r04fvw4atas6W5jb1iLFi0we/ZsLFiwAI0bN0aOHDnc7ZUrV7bDlxz2TOnYIiHtzBngxReB225z6oxVr+6sRykiIunK7wHZ3Llz7ZDhcM7W+s+2bdtQrlw5r/0KFSpkhyQ5pMihxrKJviQqVqyITZs2+bzv5bZ7HtsXbmdemudFJOjExjrlLAYOdG4/+iiweDFQoYK/z0xEJOT5NSBj4PLggw/i888/R16PBYjj4+ORkzO5EmGSPdvOnTuHzFw3z0dbSve93HZfBg4caM/fdYmOjk71ayASEFjglYVe588H8uRx1qHkTEqPnmQREQnRgOzJJ59E69atUb9+/QuCH1eCvqeDBw/aYInBmGF2i4cDBw7YtqTue7ntrmP70qdPHzsBwHXZvn17qp6/SMDg7OYDBwAO9S9fDrRt6+8zEhEJK34LyKZNm4Yvv/wSw4YNs/lcvGzdutXmka1evRqbN2/22n/37t0oUKAAsmfPjqioKDu06In7cxizZMmSF9z3cts9j+1LRESELa/heREJioXBXTp1Ar78EliwALjqKn+elYhIWPJbQMbE+YSEBNsb5bqUKlXKlql48803MXPmTK/9mWfWqFEje501wpJqL1KkiA2c/vnnH3fbmTNnbAB46623ol69ejZBn9tcVq1aZfPAmDuW3GOLhIxp05yEfSbuu3TowL8u/HlWIiLhywQQlp5g2QuWpChbtqwZO3asLVmxcOFCW7Zi1apVdr+VK1eaEiVKmMWLF9t2lrsoX768OXnypLtMRUxMjNm+fbs5cuSIeeSRR8x9993nVSKjR48e5ujRo2bbtm2mTp065tNPP7VtKR07NVT2QgLWqVPG9OzplLPg5dln/X1GIiIBw5/f3wEZkNHq1atNvXr1TEREhKlcubKZkagW0pQpU2wQliNHDtOgQQOzYcMGr/Z+/fqZwoULm9y5c5vOnTubY8eOudsOHz5sOnToYHLlymWKFStmBg8e7HXflI6dEgVkEpD+/deYWrW8gzEGaCIi4vfv70z8x9+9dKGGs0c525IJ/sonk+ScPesUv9+1CyheHLjpJiBLlnR4zSZPBjp35ocTKFAAGDMGuPNOvTkiIgHy/a3FxUX85NtvgZ49nfJfLqyN/P77wN13p+GBxo4FHnzQuV6vHvDVV4BKs4iIBBS/F4YVCddgrE0b72CMduxwtrM9zdx1F8Bixy+8AMyZo2BMRCQAacgyHWjIUlIapixd+sJgzP2fMpPTU8bqK5c8fDl3rjP+yQej48eBXLn0xoiIBOj3t3rIRDIYc8aSCsaIWZ2sLcz9LhpXk+jeHbjlFsBjOTIFYyIigU05ZCIZjAn8abmf27p1ToX9v/92esYOHbqU0xMRET9QQCaSwTibMi33s8aPdxYD59Bk0aLAF18AKmYsIhI0NGQpksGY2sUcMVd6V2LczkmQ3C9FDMAeegi4/37nesOGwIoVCsZERIKMAjKRDMZEfZa2oMRBmev20KGpTOhftcrpHcucGejfH/j5Z6BYsbQ/aRERSVcKyET8gHXGJk0CoqK8t7PnjNtTXYesdm1g2DBg1iygb990qiorIiLpTWUv0oHKXki6Veo/dgx4+mnncvXVeqFFRNKQKvWLhCkGX/Xrp3LnlSuBe+4B1q8Hli4Fli93hipFRCTo6be5SKBjYbKPPwZuuMEJxjjO+eGHCsZEREKIyl6IBDIuBt6tGzBxonO7WTNnYfBChfx9ZiIikoYUkIkEKpbrZxmLjRuBrFmBt95ycsc0TCkiEnIUkEnoJsAHOz5JXhISgK+/BurU8fcZiYhIOlFAJkHh22+Bnj2914BkiQjW80p1iYhgcPgwEBkJREQ4vWLffONcz5/f32cmIiLpSEn9EhTBWJs2Fy7IvWOHs53tIeH334FrrwWef/78NhZ5VTAmIhLyFJBJQOMwJXvGONEwMde2p55y9gtafCLvvQfExABbtgA//OAk84uISNhQQCYBjTljiXvGEscyzH3nfkHp4EGgVSvgmWecXDF2+bG+WJ48/j4zERHJQArIJKAxgT8t9wsoixYBNWoA333n5Il99JGTM5Y3r7/PTEREMpiS+iWgZzvy8dNyv4Bx/DjQogWwfz9QvrwTiDE4ExGRsKQeMrkoTKAvXRpo0ADo0MH5ydvplVjPYI+zKTNl8t3O7dHRzn5BJVcuYORI4N57gT/+UDAmIhLmFJBJQM92ZM8bS1tQ4qDMdXvo0CCpRzZ3LjBr1vnbrVsDEyYAuXP786xERCQAKCCTgJ/tyDpjkyY5Szh6Ys8Ztwd8HbJz54A333S6E9kjtnOnv89IREQCjHLIJM1nO9avn/YvKoOuli2DsFL/nj1Ap07AL784t++4QzMoRUTkAgrIJGhmOzL4So9gL93Mng107Ajs3g3kzAkMHw48+KC/z0pERAKQhiwlvGc7pgd2F772GtCokROMVakCLF2qYExERJKkgEzCe7ZjeuCLwYr7DMy6dHGWRLr6an+flYiIBDAFZBJ+sx3Ti+eMBg5PTp4MfPqpM1wpIiKSDAVkEj6zHdPLmTPAiy86sw44o9JVZyxsXxAREblYSuqX8JjtmF449ZSlLObPd25zNuVtt/n7rEREJMgoIJPQn+2YXqZPB+6/HzhwwCnu+sknGR6MZeQyViIikn40ZClysRISgOefB5o1c4Kx664Dli8H2rUL6WWsREQk/SggE7lYrCU2ZIhz/YkngIULgXLlQn4ZKxERST8KyEQu1tNPA0WKOLMoP/gAiIgIyGWsTp8GfvsN+Oor52d6LGslIiIhEJBt3rwZt99+O3Lnzo2KFSvi66+/drctWLAANWrUQGRkJK6//nr8zlpOHkaNGoWSJUsiV65cuOuuu7CHS9T8JyEhAU8++STy58+PggUL4rnnnsMZzoT7z86dO9GsWTPkzJkTZcuWxZgxY7weO6VjS5hhZMNELZdatfjhTddZlAyekgqmUruMFWe/ajhTRCRIGD85d+6cqVq1qhk0aJA5efKkWbFihSldurRZtGiR2b17tylcuLCZPHmyOX36tJkyZYopVqyY2bVrl73vjBkzTKlSpcxff/1lTpw4YV5++WVz4403uh+7d+/e5rbbbrOPs3fvXtO0aVPzwgsvuNvr1Klj+vTpY++7cuVKU7ZsWfuYlNKxUyMuLo79FPanBLlNm4y5/npjsmc3ZvnyDDnk5MnGlCjBsOr8hbe5nSZM8G5L7SVTJufiehwREQmc7+9M/McfgeChQ4fwzTffoHv37u5tTz31FEqUKGF7uNiLNWzYMHfbCy+8gOzZs6N///647bbb0K1bN7Ru3drdXqdOHQwYMAAxMTEoXrw4Vq9ejWLFitm2AwcOoFKlStiyZQtWrlxpj/nXX38h038VTWfOnGnvO3fuXAwcODDZY6fGkSNHkDdvXsTFxSFPnjxp8nqJH3BIkpX24+KA/PmBiROBxo0zJDcs8f9KV/Fd1nsrUMDp+boUfBz2nLGDT7MxRUQC5/vbb0OWHE50BWOnT5/GL7/8gsmTJ6Nhw4aYN28eWrLYlYc2bdpg1qxZ7NHDkiVL7JCjr/YVK1agcuXK7mCMOGxZu3ZtLFy40D52ixYt3MEYNW7cGKtWrcLJkyeTPbaEiZMngR49nMiIwVjdusCKFekejKU2N4ynk9wyVslxDWd6jsCKiIj/BURSP4OlJk2aoH79+rj22muxbds2lEs0a405Zps2bbK9Xfny5UOOHDl8tvu6b0rtWbJkQZkyZbB169Zkj52UU6dO2aja8yJBauNGJ+Lh0kfUu7eTxFWyZLofOrW5YZzUmdQyVqnFumUiIhI4AiIgW7Rokb38888/dugwPj7eJtx7YoI9t/tqS+92V1tSOMzJLk7XJZqrbEtw4pjhn38ChQo5hV/fegvIli1DDp3aIIn7JbWMVeHCqXsMFpEVEZHAERCV+tnbxRywKVOm4JprrrE5YBw+9MSeMQZKDI4St6W2nbMyL+X+rrak9OnTB88884z7NnvIFJQFqV69mODoDFkmjnbSWWqDJNd+vpaxYufeVVc59ch8DX26cshY0V9ERAKH33rImGC/K1GXQFRUlB0+LFy4sC2J4Ym3WaKC+WCHDx+2if++2hl0Jb5vSu18rN27d6NUqVI+2133TUpERIRN/vO8SJBYtw5o3x44ccK5nTkzuzwzPBgjBknJ5YZxOztfPYMp1zJWXE6TP7NnT3o403V76FAl9IuIBBq/BWSs9dWLvRGJgjTWJGOSPWc+epo0aRIaNWpkk/Fr1aqF2bNn+2xn/bA1a9bYWZwuBw8etBMB6tata2dhJn7sn376CdWrV7eBla9212NLiBk/3qkpxtmTL7/s77OxwVVaBFNJDWcy2OP2dCyfJiIilyrDC23859ixY6ZcuXJmzJgxth7Y2rVrTe3atc3nn39ua4EVL17cTJ8+3SQkJJjvv//eREVFmT179tj7smZYpUqV7H3i4+NN//79TUxMjFcdstatW5v9+/ebffv2mZYtW9paZZ51yAYMGGDvu3r1alOhQgXz888/27aUjp0aqkMW4I4fN+ahh84X6GrQwJidO02g8FWHLDr64uuHnTljzJw5Tt0y/uRtEREJzO9vvwVktG7dOtOoUSOTK1cuEx0dbd5//3132/z580316tVNRESEqVmzplm6dKnXfUeOHGlKlChhIiMjTatWrbwCplOnTpkePXqYvHnzmvz585tevXqZMx7fRrGxsbZYLO/LYrRjx471euyUjp0SBWQBbPVqY66+2olyMmc2pl+/gIxUFEyJiGS8sCwMG8pUGDZAcdYka4txxiwz4CdMcBKv0rm2mGfSPfO/VJBVRCQwHfFjYdiAmGUpkiGuuQbgbFlGRcwf4wLh6VxBg4VePWuLMY+LeWLK4xIRkYCrQyaSbjxn8jIaWrQImDEjQ4IxdsYlLvTKchTcznYREREXBWQSmjgS//HHAMuVTJ16fnv58k5piwBYAon7iYiIkAIyCT1cuoqFuR55xFmXkrUeMlBql0DSepIiIuKigExCy/LlwHXXObXFsmYFhgwBxo3L0FO4mCWQRERESEn9EhrY7cQFwZ99Fjh92lkM/OuvgRtvzPBTudglkERERNRDJqFh4ULgiSecYKxFC2eBcD8EY5e6BJKIiIQ3BWQSGurVczLl33vPSeIvUCDol0ASEZHwoYBMgnuIcufO89sYjDEoS6prKgNpPUkREbkYqtSfDlSpP50r1B88CDz0EPDdd06l/V9/DdjuJlXqFxEJHkdUqV9CSbpWqGdh13btnLoR2bM7VVbTua7Y5WCcmM6rM4mISAgI3G8yCUrpVqH+3Dlg8GCnq43BWLlywOLFwOOPB8QQpYiIyOVQQCaBX6GeQ5TNmwO9ezt3bt8e+OMP4Npr0+S8RURE/E0BmQR+hfqICGDzZiBHDmc5pAkTgDx5Lvd0RUREAoYKw0pgVqjnECUxPyxXLmf5I/aOXXPNZZ2jiIhIIFIPmQRehfo9e4Dbbwfefff8tipVFIyJiEjIUkAmgVWhfvZsoEYN4JdfgNdfBw4d0jskIiIhTwGZBEaFeg5HvvYa0KgRsHs3cPXVznJI+fPrHRIRkZCngEz8X6GeSWWNGwP9+jmZ/507A0uXOsOUIiIiYUBJ/ZLmGHS1bJnKSv3x8cANNzjTM5m8P2IE0KmT3hUREQkrCsjEvxXqIyOBXr2A0aOBb74BKlXSOyIiImFHQ5aS8dgbtnr1+dtPPgn8/ruCMRERCVsKyCRjTZ/uzKK86y7g6NHzGf8s+ioiIhKmFJBJxkhIAJ5/HmjWDDhwALjiCuDwYb36IiIiCsgkQ2zbBtxyCzBkiHO7Rw9g0SKnKJmIiIgoqV/S2XffAQ8+6BR4zZvXSd5v3Vovu4iIiAfNspT0w5piw4c7wdj11wMTJwJlyugVFxERSUQ5ZJJ+mKw/bhzw8svA/PkKxkRERJKggEzS1rffOnXFXIoWddakzJ5dr7SIiEgSNGQpaePkSeC554APP3RuN2wING2qV1dERCQVFJDJ5du4EWjbFvjzT+c2y1twbUoRERFJFQVkcnmYqP/ww06R14IFnZwx9YyJiIhcFOWQyaV74QWgfXsnGOPq4StWKBgTERG5BArI5NIxCMucGXjpJWD2bKBECb2aIiIil0BDlnJxduwAoqKc61wG6Z9/gHLl9CqKiIgEaw/ZoUOH8MADD6Bw4cIoXbo03nrrLZw7d862LViwADVq1EBkZCSuv/56/P777173HTVqFEqWLIlcuXLhrrvuwp49e9xtCQkJePLJJ5E/f34ULFgQzz33HM6cOeNu37lzJ5o1a4acOXOibNmyGDNmjNdjp3TssHTiBNClC1CtGrB16/ntCsZERESCOyBr06YNoqKi8O+//+KXX37B1KlT8eGHH9rgikHWK6+8giNHjuCll15Cy5YtsXv3bnu/mTNnYsCAAfjhhx+wf/9+VK1a1e7v0rdvX6xfvx7r1q2zlzVr1thtLq1bt0b16tVx4MABTJs2Da+//rp9TErp2GFpzRqn0v5nnzkLgs+Z4+8zEhERCS3GT5YvX26qVq1qzp075962Zs0aU61aNTNgwADTo0cPr/179+5t+vbta683adLETJo0yau9du3aZtasWebUqVOmQIECZteuXe62/fv3m0KFCpljx46ZhQsX2mN4HnfGjBnmpptustdTOnZqxMXFGb60/BnU+Bp99pkxkZFcBMmYYsWMmT3b32clIiKSLvz5/e23HrKzZ8/imWeeQSYur/Of6Oho20M1b9482yuVuDdt1qxZDCCxZMkSO+Toq33FihWoXLkyihUr5m7jsGXt2rWxcOFC+9gtWrTwOm7jxo2xatUqnDx5Mtljh5Vjx4AHHgA6dwbi4526YpxF2aCBv89MREQk5PgtIKtVqxYeeughr20cguT2bdu2oVyi3KSKFSti06ZNdpgxX758yJEjh892X/dNqT1LliwoU6YMtm7dmuyxk3Lq1Ck7vOl5CXrvvAOMH+/MonzzTY4TO8sgiYiISOiWvWCO1rPPPmtzt+Lj423CvScm2HO7r7b0bne1JWXgwIHImzev+8KevqDXu7czi/K334AXX3QCMxEREUkXAfEtyx4mJto/9thjdmiRARCHDz2xZ4yBkq+29G53tSWlT58+iIuLc1+2b9+OoMNevQEDOJbs3GYP5A8/OLXGREREJPQDsi5duthepRfZEwPYchabN2/22oe3WaKC+WCHDx+2pS18tfu6b0rtfCz20JUqVSrZYyclIiICefLk8boEFa5BWbOmU+D1jTf8fTYiIiJhx+8B2WuvvWbzs1gLzJVoHxMT4y5D4TJp0iQ0atTI7sM8s9msDO+jnfXDWOaCNc5cDh48aCcC1K1b1+dj//TTT7YMBgOr5I4dcjh3cvhwoE4dZ4FwDrVqUXAREZGMZ/zoiy++MGXLljV79uzx2r57925TvHhxM336dJOQkGC+//57ExUV5d6PZSoqVapk1q5da+Lj403//v1NTEyMV5mK1q1b23IX+/btMy1btjQvv/yyu71OnTq2vAXvu3r1alOhQgXz888/p+rYIVP24tAhY9q0ccpZ8NKihTEHDvj7rERERPzGn9/ffgvI5s6da7Jnz24yZcpksmTJ4nXZsmWLmT9/vqlevbqJiIgwNWvWNEuXLvW6/8iRI02JEiVMZGSkadWqlVfAxFpkrCWWN29ekz9/ftOrVy9z5swZd3tsbKxp2rSpvW/p0qXN2LFjvR47pWMHfUC2fLkxZco4gVi2bMa8+65Tc0xERCSMxfnx+zsT//FDx1xIY9kLzrZkgn9A5pP9/Tdwww0Aa7VNnOhcFxERCXNH/Pj9rcXFwwXX8sz639vN9Si/+85ZDilfPn+fmYiISNjze1K/ZIBFi4BKlYDFi89vY/K+gjEREZGAoIAslJ07BwwZAtx8M/Dvv8DLL/v7jERERMQHDVmGqv37nbUop093brdrB4wa5e+zEhERER/UQxaK5s0DatRwgrGICGDkSOCrr4BAnGAgIiIi6iELOUuXAg0aOEsgVagAfPMNUL26v89KREREkqEhy1BTq5azKDh7w0aMAK64wt9nJCIiIilQQBYK5s93esFy5wa4/BR7xbJnd66LiIhIwFMOWTDjsGS/fsAttwCPPuosgkTMG1MwJiIiEjTUQxasdu0C7rsPcC2yzh4xFn/Nls3fZyYiIiIXST1kweiXX5xZlAzGcuUCxo0DPvtMwZiIiEiQUkAWTNgDxuKut90G7N3rLIG0bBnQqZO/z0xEREQugwKyYHLoEPDpp06uWLduwJIlzpJIIiIiEtSUQxZMChcGJkxwesfat/f32YiIiEgaUUAWbBo29PcZiIiISBrTkKWIiIiInykgExEREfEzBWQiIiIifqaATERERMTPFJCJiIiI+JkCMhERERE/U0AmIiIi4mcKyERERET8TAGZiIiIiJ8pIBMRERHxMwVkIiIiIn6mgExERETEzxSQiYiIiPiZAjIRERERP8vq7xMIRcYY+/PIkSP+PhURERFJJdf3tut7PCMpIEsHR48etT+jo6PT4+FFREQknb/H8+bNi4yUyfgjDAxx586dw86dO5E7d25kypQJwfgXAoPJ7du3I0+ePAg3ev7h+/7rvdd7H46fe9Jn/4j9vbdt2zb7vX3llVcic+aMzepSD1k64JtYokQJBDv+UgrHX0wuev7h+/7rvdd7H67C/bOfN29evz1/JfWLiIiI+JkCMhERERE/U0AmF4iIiMCrr75qf4YjPf/wff/13uu9D8fPPemzH+H333tK6hcRERHxM/WQiYiIiPiZAjIRERERP1NAJiISArZu3YqxY8f6+zRE5BIpIAsBhw4dwgMPPIDChQujdOnSeOutt2xxWlqwYAFq1KiByMhIXH/99fj999+97jtq1CiULFkSuXLlwl133YU9e/a42xISEvDkk08if/78KFiwIJ577jmcOXPG3c7it82aNUPOnDlRtmxZjBkzxuuxUzp2Wti8eTNuv/12W4S3YsWK+Prrr1N9/GB/7r4MGTIE+/fvt9fXrl2LmJgYew5VqlTB9OnTvfadOnUqKlSoYNsbNmyIDRs2eLX3798fRYsWtTV5OnfujGPHjnkVkezYsSOuuOIKW0Bx0KBBXvdN6dhp6aWXXkKWLFmQNWtWe6latWpYPX+Xnj17en2GQ/nz73qvPS881q5du8LivT9w4ADuu+8+FChQwL6H77zzTqqPH+zPnTZu3IimTZvammH8vf/ll18iJD73rNQvwa1hw4amT58+Ji4uzqxfv97Url3bvP/++2b37t2mcOHCZvLkyeb06dNmypQpplixYmbXrl32fjNmzDClSpUyf/31lzlx4oR5+eWXzY033uh+3N69e5vbbrvNPs7evXtN06ZNzQsvvOBur1Onjj0u77ty5UpTtmxZ+5iU0rHTwrlz50zVqlXNoEGDzMmTJ82KFStM6dKlzaJFi0L+ufvC5xIREWH27dtnXw++Fh9++KE5deqUmTt3rilevLg9V+LPIkWKmN9++822jxgxwj6H+Ph4287b1157rdm0aZP9XHXu3Nm0b9/efax27dqZBx54wBw+fNhs2bLF1KpVy4wcOdK2pXTstNayZUv7PDyF0/OnH3/80f5fSEhIsLfD7fM/cOBA8/jjj4fNe9+sWTPz6quvmmPHjtnXm/8HxowZExbP/dixY+aqq64yn3zyif38LV++3JQvX978+uuvQf+5V0AW5Phh5C9iBicua9asMdWqVTMDBgwwPXr08NqfH7i+ffva602aNDGTJk3yamcwN2vWLPsfqkCBAl4fpv3795tChQrZ/xALFy60x/A8Lj+YN910k72e0rHTwsGDB92/DFx69uxphgwZEvLPPTGe8zXXXGOyZMliA7IJEyaY5s2be+3DX7adOnWy17t162befvttr3b+sh09erS9XqFCBbNs2TJ3G3/BREdHm40bN5rY2Fj7S931S9z1meMvOkrp2GmtXLly9pehp3B6/vwi5BfS/Pnz3dvC6fN//PhxExUVZbZt2xY2733u3Lnt++TCYIRBWTg895kzZ9rn6unbb7819913X9B/7jVkGeTOnj2LZ555xmvNTK7HxW7YefPmoWXLll77t2nTBrNmzbIr2S9ZssR2v/pqX7FiBSpXroxixYq529iFW7t2bSxcuNA+dosWLbyO27hxY6xatQonT55M9thphd3K3bt3t9dPnz6NX375BZMnT7bd8KH+3H0N21WrVs29ZFdK55Bc+969e3H8+HHUrFnT3ZYtWzb7nGfPnm275fl8c+TI4W7n68VhDA5/ZOTz5+vNIXsOsXgKl+dPgwcPxs0334x69eq5t4XT5//jjz+2w1f8vZfScw+V957v3fPPP2+HELn25oABA+z/gXB47mfPnvW5nb8Hgv1zr4AsyNWqVQsPPfSQ17YffvjBbuciqeXKlfNq43j7pk2bbA5Cvnz5vP5zebb7um9K7czjKVOm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GAzCeJ2XX375xWuhYC4kXKxYMXTp0sXe3rFjh+0xe/LJJzF48GB88cUXPs8zX758NsDz7FXbsGED5syZg7lz59rFjXnOvM6F0kUkPGjpJBEJKYcPH7bBWEREhA2Mtm3bhg8//ND2hnH4slChQu5969Spg/bt29seKwZJDMroxx9/RNmyZVG5cmV7u3Dhwl4BGXvcqlatijZt2qBfv352W8eOHe1jfPXVV6hZsybuvfdePPfcc+5jTZ48GQ8++KC7ty1z5sz43//+h+effx6bN2+2QRkDw1tuucUGim+88UYGv3Ii4k/qIRORkNKtWzcsXrwYBQoUcG9jgMSAbMuWLTh+/Lh7+4033miDLg4/MlgaNmwYmjZtisceewwjRoywgZEr2CpevLj7fuPHj8eaNWsQHR1tbw8ZMsT20K1YscL2srG9Xr16tverf//+qFatGpo1a2Z70Xr16mX3GTRoEN555x1cc801KFq0qB2yZBDJffr06ZOhr5mI+J96yEQkpDCwYvDFYCtxz9nQoUOxf/9+r+3MKWPP2YwZM9CzZ08sWbLE9n599913aNy48QWPv3HjRpvzdeDAAdvzxttjxozBBx98YPPVeF8OP/7888+YOHGizVdbt24d8uTJY4dDo6KiEBMTg9atW9tArHbt2naIskqVKva8FyxYYAM4EQkvSuoXkZBTqlQp1KpVy+vCYMkXzqosV66c7ZliMn6ZMmVsEOXZw+Zp2rRptleLvW67d+/GqlWrMHv2bPzwww82qZ84vPn777/bNgZ2DMaIeWXMa8uaNSueeOIJXH311di0aZMdNuWwKIdTGVAOHz4cy5cvT8dXSEQCjYYsRSTksPQEk+KTKy3BRP29e/figQcesL1azPHikOG+fftsO3uvmO/FXi32YDG/jAn5zz77LLp3727zyThk6cohY17YlVdeaa9HRkbaCycYMBgkTibgvi1atEDBggVtrtldd92F7du32yFKDpPyHN9++227H3vM2NMmIuFBAZmIhJxrr70WN9xwwwU1yZgX5hIbG2t7wzy5erjIlR/mwpmZb731lr1+xRVXXHDMPXv24Pbbb7fXmSOWGIOukiVL2kCLPWt33HGHDdLYO8YZn6+//ro7UORQKfPZRCR8KCATkZDAPDD2SlHFihVRv359r3b2hjEgY08We72YpM8hRZa3YHkJDiPyMXg/9ppx5iUDL+575MgR2zuWFPag/fHHHxgwYECS+zAQY2I/E/1dmEfGGZucDFC6dGm7jT1kPC+W1BCR8KGATERCAnvEOOTHwIr5W99++627t4rJ8hxyZI4WgzUGWUziZ5DkwvwxzqZkYMTirjVq1ECHDh3w8ssv25yxxDyLyjIPjcEby2gkVY2f9cp4Dkza99UuIuFNSf0iEhJYhoIzHr///ns7i5H5YOyNYm8T870YqD388MN2FiVrkzEYYxmMsWPH2rwu3mbiPwu+8vq8efNsOYxKlSqhb9++F6wCwOR8V76aaziTtcWIkwIY9Hly1TjzXCmAGJzxeAzoeHnppZcuWBVAREKfAjIRCQksQ8FeMuZxsbYYZz7mzZvXtjEfiyUvOPuReVxbt26121mqgkEahywZqH366afu6vjXXXednRjAAIlBWuJeLQ5vsoQGi88+9dRTdpjThblhiQMyz0DOtf4lH4PB1+rVq+11Xt58801brV9EwovqkIlIyGCpCA41unqqfOHQZIUKFex1zqJk8ONZvd8Xzyr+iTEJn71vl4LBGMtecJj0Uh9DREKDAjIRERERP9OQpYiIiIifKSATERER8TMFZCIiIiJ+poBMRERExM8UkImIiIj4mQIyERERET9TQCYiIiLiZwrIRERERPxMAZmIiIgI/Ov/Aa8n664PxznVAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.scatter(y_test, y_pred, color='blue')\n",
    "plt.plot([y.min(), y.max()], [y.min(), y.max()], 'r--')\n",
    "plt.xlabel(\"真实价格\")\n",
    "plt.ylabel(\"预测价格\")\n",
    "plt.title(\"房价预测效果\")\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1978f36f-c35c-4bea-ad82-7980d39a182f",
   "metadata": {},
   "source": [
    "## 逻辑回归\n",
    "\n",
    "根据输入特征 $X = (x_1, x_2, …, x_n)$ 预测事件发生的概率 P(Y=1|X)。 <br>\n",
    "\n",
    "\n",
    "\n",
    "逻辑回归先对特征做 线性组合：<br>\n",
    "\n",
    "$z = w_1 x_1 + w_2 x_2 + \\dots + w_n x_n + b$\n",
    "\n",
    "- $w_i$ 是权重（模型参数）\n",
    "- b 是偏置\n",
    "- z 是线性组合结果（可以是任意实数）\n",
    "  \n",
    "Sigmoid 函数（逻辑函数）\n",
    "\n",
    "将线性结果映射到 0~1 的概率：\n",
    "\n",
    "$\\sigma(z) = \\frac{1}{1 + e^{-z}}$\n",
    "- 当 $z \\to +\\infty，\\sigma(z) \\to 1$\n",
    "- 当 $z \\to -\\infty，\\sigma(z) \\to 0$\n",
    "- 当 $z = 0，\\sigma(z) = 0.5$\n",
    "\n",
    "最终预测概率为：\n",
    "$\n",
    "P(Y=1|X) = \\sigma(w \\cdot X + b)\n",
    "$\n",
    "然后通过阈值转换为类别：\n",
    "$\n",
    "\\hat{Y} =\n",
    "\\begin{cases}\n",
    "1 & P(Y=1|X) \\ge 0.5 \\\\\n",
    "0 & P(Y=1|X) < 0.5\n",
    "\\end{cases}$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ef6b7c2f-bdf0-44a5-b08f-36b5ab1aa729",
   "metadata": {},
   "source": [
    "#### 为什么sigmod输出的值是概率？\n",
    "https://www.zhihu.com/question/41647192"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "4c9ca302-9914-4def-8f02-9f259f0aacbb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[8.78110099e-01 3.02984100e-08 1.60742476e-03 9.98764312e-01\n",
      " 9.99856470e-01 2.02795818e-10 6.07288960e-11 1.92936724e-02\n",
      " 9.84395572e-01 9.94263894e-01 9.29210770e-01 8.10822084e-04\n",
      " 9.88886022e-01 1.76157046e-01 9.99204609e-01 1.75946275e-03\n",
      " 9.98794159e-01 9.99987627e-01 9.99999357e-01 7.19120467e-07\n",
      " 8.27519826e-01 9.92244454e-01 6.18974091e-09 9.99655676e-01\n",
      " 9.96494672e-01 9.99756460e-01 9.98964087e-01 9.98960434e-01\n",
      " 9.95287962e-01 7.45331306e-09 9.98517621e-01 9.99758996e-01\n",
      " 9.99091116e-01 9.86319637e-01 9.99881140e-01 9.99038891e-01\n",
      " 2.08553547e-03 9.98976006e-01 1.00791554e-05 7.18919226e-01\n",
      " 9.99778115e-01 6.26763312e-04 9.99533665e-01 9.95966863e-01\n",
      " 9.99753672e-01 9.82745659e-01 9.99967103e-01 9.99513301e-01\n",
      " 9.59191402e-01 9.98565898e-01 9.49224027e-05 2.91436277e-09\n",
      " 8.60784193e-01 9.99606795e-01 9.99393700e-01 9.86050841e-01\n",
      " 9.99863337e-01 3.71999318e-12 7.25825129e-01 9.99942037e-01\n",
      " 9.85590972e-01 7.76919626e-07 1.61573637e-09 9.19319504e-01\n",
      " 9.97313188e-01 8.96049841e-01 9.21480191e-06 7.48843601e-10\n",
      " 9.99350356e-01 9.85632874e-01 9.52702384e-03 4.16084468e-05\n",
      " 9.97626238e-01 6.89051878e-02 9.99898992e-01 9.97800077e-01\n",
      " 9.29979005e-01 5.61387290e-01 9.99848438e-01 9.98732570e-01\n",
      " 5.82576366e-04 9.99474062e-01 5.35869117e-01 4.29828439e-10\n",
      " 1.03711035e-03 1.28216265e-02 5.43560855e-04 3.22427946e-07\n",
      " 9.97365762e-01 9.97007565e-01 9.92595641e-01 9.00098926e-01\n",
      " 8.50282472e-01 9.99025992e-01 9.99730750e-01 9.99880281e-01\n",
      " 1.70635558e-07 3.18827370e-07 9.99970374e-01 7.70240227e-05\n",
      " 8.41867772e-05 9.99996993e-01 2.07179522e-08 1.96750658e-03\n",
      " 9.71547517e-01 9.56302683e-01 9.90267777e-01 1.02118880e-14\n",
      " 9.77942614e-01 8.77524886e-01 4.02625940e-04 9.99235901e-01\n",
      " 8.31319769e-02 7.54288644e-25]\n",
      "测试集准确率: 0.956140350877193\n",
      "混淆矩阵:\n",
      " [[39  4]\n",
      " [ 1 70]]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.datasets import load_breast_cancer\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.metrics import accuracy_score, confusion_matrix\n",
    "\n",
    "# 1. 加载数据\n",
    "data = load_breast_cancer()\n",
    "X = data.data\n",
    "y = data.target\n",
    "\n",
    "# 2. 划分训练集和测试集\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
    "\n",
    "# 3. 建立逻辑回归模型\n",
    "model = LogisticRegression(max_iter=10000)\n",
    "model.fit(X_train, y_train)\n",
    "\n",
    "# 4. 预测\n",
    "y_pred = model.predict(X_test)\n",
    "y_prob = model.predict_proba(X_test)[:,1]  # 输出概率\n",
    "print(y_prob)\n",
    "# 5. 模型评估\n",
    "accuracy = accuracy_score(y_test, y_pred)\n",
    "cm = confusion_matrix(y_test, y_pred)\n",
    "\n",
    "print(\"测试集准确率:\", accuracy)\n",
    "print(\"混淆矩阵:\\n\", cm)\n",
    "#\n",
    "##\n",
    "#TN FP\n",
    "#FN TP"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e3f0b589-f039-4518-931a-b39270816de4",
   "metadata": {},
   "source": [
    "### 混淆矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "6dded190-55bb-47d4-9a18-b152d145706f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[2 1]\n",
      " [2 3]]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.metrics import confusion_matrix\n",
    "y_true = [1, 0, 1, 1, 0, 1, 0, 1]  # 真实标签\n",
    "y_pred = [1, 0, 0, 1, 0, 1, 1, 0]  # 预测结果\n",
    "\n",
    "cm = confusion_matrix(y_true, y_pred)\n",
    "print(cm)\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "sns.heatmap(cm, annot=True, fmt='d', cmap='Blues')\n",
    "plt.xlabel(\"Predicted\")\n",
    "plt.ylabel(\"True\")\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9423f6b4-64d4-45c9-8f0a-6f2bd0a4f4a8",
   "metadata": {},
   "source": [
    "|         | **预测正类(1)** | **预测负类(0)** |\n",
    "| ------- | ----------- | ----------- |\n",
    "| 真实正类(1) | 3 (TP)      | 2(FN)      |\n",
    "| 真实负类(0) | 1 (FP)      | 2 (TN)      |"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "921c3625-4824-4b4c-9684-b41ba002fa52",
   "metadata": {},
   "source": [
    "### 准确率（Accuracy）\n",
    "\n",
    "对于一个二分类或多分类问题，准确率的公式如下：\n",
    "\n",
    "$\n",
    "Accuracy=\\frac{Correct Number of Predictions}{Total Number of Predictions} =\\frac{TP+TN}{TP + TN + FP + FN}\n",
    "$\n",
    "\n",
    "其中：\n",
    "\n",
    "- **Correct Predictions** = 真正例（TP） + 真反例（TN）\n",
    "- **Total Predictions** = TP + TN + FP + FN"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a992adde-683d-4a3b-86d2-23dc4a548756",
   "metadata": {},
   "source": [
    "### 精确率 （Precision）\n",
    "\n",
    "**精确率（Precision）** 是分类模型中用于衡量预测结果准确性的关键指标之一，尤其在我们希望尽可能减少“误报”（False Positive）的场景中非常重要。\n",
    "\n",
    "> **精确率（Precision）** 衡量的是：模型预测为正类的所有样本中，有多少是**真正的正类**\n",
    "\n",
    "推荐系统：不想给用户推荐不相关的内容<br>\n",
    "法律审查：不想把无关文档标记为重要证据\n",
    "$$\n",
    "Precision= \n",
    "\\frac {TP} {FP+TP}\n",
    "$$\n",
    "\n",
    "其中：\n",
    "\n",
    "- **TP（True Positive）** ：真实为正例，预测为正且实际也为正。\n",
    "- **FP（False Positive）** ：真实为负例，预测为正但实际是负类（**误报** ）。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7ba870e-521e-49ab-94df-719666523f63",
   "metadata": {},
   "source": [
    "### 召回率 （Recall）\n",
    "\n",
    "> **衡量的是模型能够从所有真正的正类样本中，找出多少个是正类的能力。**\n",
    "\n",
    "通俗地说：\n",
    "\n",
    "- 召回率越高，说明模型越能“找全”正类样本。**关注少漏判**\n",
    "- 它关注的是：**有没有漏掉正类？**比如新冠病毒检测、欺诈电话预警\n",
    "\n",
    "$$\n",
    "Recall= \n",
    "\\frac {TP} {FN+TP}\n",
    "$$\n",
    "\n",
    "TP（True Positive）：真实为正类，预测也为正类 <br>\n",
    "FN（False Negative）：真实为正类，预测为负类"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4fcad9fc-4261-491d-aab2-d3f9e811679a",
   "metadata": {},
   "source": [
    "### F1分数（F1 Score）\n",
    "\n",
    "> **F1 分数是精确率和召回率的调和平均值（Harmonic Mean）** ，用于衡量模型在不平衡数据下的综合性能。\n",
    "\n",
    "$$\n",
    "F1=2* \\frac {Precision*Recall}{Precision+Recall}\n",
    "$$\n",
    "\n",
    "- 为什么使用 F1 分数？\n",
    "  \n",
    "\n",
    "| 场景  | 原因  |\n",
    "| --- | --- |\n",
    "| 类别不平衡 | 准确率容易被多数类“欺骗”，而 F1 能反映少数类的表现 |\n",
    "| 需要平衡精确率与召回率 | 比如医疗诊断中既要找全病人（高召回），又不能误诊太多（高精确） |\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1fc5526f-968e-4285-8ed8-e10018ce36a4",
   "metadata": {},
   "source": [
    "### 回归学习性能评估指标\n",
    "\n",
    "在回归问题中，性能评估指标用于衡量模型预测值与真实值之间的差异。以下是常用的回归任务评估指标及其详细解释：\n",
    "\n",
    "---\n",
    "\n",
    "### 1. **均方误差（Mean Squared Error, MSE）**\n",
    "\n",
    "- **公式**：\n",
    "  \n",
    "  $$\n",
    "  MSE = \\frac{1}{n} \\Sigma_{i=1}^n({y}-\\hat{y})^2\n",
    "  $$\n",
    "- **解释**：\n",
    "  计算预测值与真实值之间**平方误差的平均值**。对较大的误差更敏感（因平方放大），值越小越好。\n",
    "  \n",
    "- **特点**：\n",
    "  \n",
    "  - 单位与原始数据的平方单位相同（如目标变量单位为“米”，MSE单位为“平方米”）。\n",
    "  - 受异常值影响较大。\n",
    "\n",
    "---\n",
    "\n",
    "### 2. **均方根误差（Root Mean Squared Error, RMSE）**\n",
    "\n",
    "- **公式**：\n",
    "  \n",
    "  $$\n",
    "  RMSE=\\sqrt{MSE}\n",
    "  $$\n",
    "- **解释**：\n",
    "  对MSE取平方根，使单位与原始数据一致，更直观。\n",
    "  \n",
    "- **特点**：\n",
    "  \n",
    "  - 与MSE一样对大误差敏感，但解释性更强（如RMSE=5表示平均偏离±5个单位）。\n",
    "\n",
    "---\n",
    "\n",
    "### 3. **平均绝对误差（Mean Absolute Error, MAE）**\n",
    "\n",
    "- **公式**：\n",
    "  \n",
    "  $$\n",
    "  MAE = \\frac{1}{n} \\sum_{i=1}^{n} |y_i - \\hat{y}_i|\n",
    "  $$\n",
    "- **解释**：\n",
    "  直接计算预测值与真实值之间**绝对误差的平均值**。\n",
    "  \n",
    "- **特点**：\n",
    "  \n",
    "  - 对异常值鲁棒性强（不像MSE会放大异常值）。\n",
    "  - 单位与原始数据相同，解释简单（如平均偏离±3个单位）。\n",
    "\n",
    "---\n",
    "\n",
    "\n",
    "### 4. **R²决定系数（Coefficient of Determination）**\n",
    "\n",
    "- **公式**：\n",
    "  \n",
    "  $\n",
    "  R^2 = 1 - \\frac{\\text{SS}_{\\text{res}}}{\\text{SS}_{\\text{tot}}}$\n",
    "  \n",
    "\n",
    "\n",
    "$\\text{SS}_{\\text{res}} = Sum of Squares of Residuals $ <br>\n",
    "$\\text{SS}_{\\text{tot}} = Total Sum of Squares$\n",
    "\n",
    "\n",
    "\n",
    "$\n",
    " SS_{res} = \\sum_{i=1}^n (y_i - \\hat{y}_i)^2$<br>\n",
    " \n",
    "\n",
    "$( y_i )$: observed value<br>\n",
    " $( \\hat{y}_i )$: predicted value from the model<br>\n",
    " $( n )$: number of data points<br>\n",
    "\n",
    "$S_{tot} = \\sum_{i=1}^n (y_i - \\bar{y})^2$\n",
    "\n",
    "$( y_i )$: observed value<br>\n",
    " $(\\bar{y} )$: mean of observed values<br>\n",
    " $( n )$: number of data points<br>\n",
    " \n",
    "\n",
    "- **解释**：\n",
    "  表示模型对目标变量**方差变化的解释比例**，范围通常为[0,1]（可能为负，表示模型比均值预测更差）。\n",
    "  \n",
    "- **特点**：\n",
    "  \n",
    "  - 1表示完美拟合，0表示模型与简单取均值效果相当。\n",
    "  - 无量纲，适合比较不同数据集上的模型性能。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "11f5bdcf-5b24-4281-8e9c-7f33a50946a4",
   "metadata": {},
   "source": [
    "K折交叉验证(kfold cross validation)\n",
    "\n",
    "1. **数据划分**：\n",
    "  - 将原始数据集 **随机打乱** 并 **均等分割** 为K个互斥的子集（通常K=5或10）。\n",
    "  - 每个子集的数据量大致相同。\n",
    "2. **迭代训练与验证**：\n",
    "  - 进行K轮迭代，每轮选择 **1个子集作为验证集**，其余 **K-1个子集合并为训练集**。\n",
    "  - 在训练集上训练模型，在验证集上评估性能（如准确率、MSE等）。\n",
    "3. **结果汇总**：\n",
    "  - 计算K次评估指标的 **平均值** 和 **标准差**，作为模型的最终性能估计。\n",
    "\n",
    "![K折交叉验证示意图](./kfold.png)\n",
    "（图示：5折交叉验证，5轮中每轮使用不同部分作为验证集)\n",
    "\n",
    "---\n",
    "\n",
    "#### 为什么使用K折交叉验证？\n",
    "\n",
    "- **解决数据不足问题**：在小数据集上，单次划分训练集/测试集可能导致评估不稳定（如测试集过小）。\n",
    "- **避免偏差**：通过多次随机划分，减少因数据分布不均导致的评估偏差。\n",
    "- **充分利用数据**：每个样本都会被用于训练和验证各一次，提高数据利用率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "71254b79-6927-41de-8695-dfa89fe67bd8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "每个 Fold 的 MSE: [10.096951698838513, 5.630565929330673, 1.8880018646932437, 24.999999999999858, 0.030245746691877903]\n",
      "平均 MSE: 8.529153047910834\n",
      "平均 R²: nan\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/chenxiaowang/Documents/Study/data-analytics-m/class4/.venv/lib/python3.11/site-packages/sklearn/metrics/_regression.py:1283: UndefinedMetricWarning: R^2 score is not well-defined with less than two samples.\n",
      "  warnings.warn(msg, UndefinedMetricWarning)\n",
      "/Users/chenxiaowang/Documents/Study/data-analytics-m/class4/.venv/lib/python3.11/site-packages/sklearn/metrics/_regression.py:1283: UndefinedMetricWarning: R^2 score is not well-defined with less than two samples.\n",
      "  warnings.warn(msg, UndefinedMetricWarning)\n",
      "/Users/chenxiaowang/Documents/Study/data-analytics-m/class4/.venv/lib/python3.11/site-packages/sklearn/metrics/_regression.py:1283: UndefinedMetricWarning: R^2 score is not well-defined with less than two samples.\n",
      "  warnings.warn(msg, UndefinedMetricWarning)\n",
      "/Users/chenxiaowang/Documents/Study/data-analytics-m/class4/.venv/lib/python3.11/site-packages/sklearn/metrics/_regression.py:1283: UndefinedMetricWarning: R^2 score is not well-defined with less than two samples.\n",
      "  warnings.warn(msg, UndefinedMetricWarning)\n",
      "/Users/chenxiaowang/Documents/Study/data-analytics-m/class4/.venv/lib/python3.11/site-packages/sklearn/metrics/_regression.py:1283: UndefinedMetricWarning: R^2 score is not well-defined with less than two samples.\n",
      "  warnings.warn(msg, UndefinedMetricWarning)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "import numpy as np\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.model_selection import KFold\n",
    "from sklearn.metrics import mean_squared_error, r2_score\n",
    "plt.rcParams[\"font.sans-serif\"] = [\"STHeiti\"]\n",
    "# 数据\n",
    "x = np.array([50, 60, 80, 100, 120]).reshape(-1, 1)\n",
    "y = np.array([120, 140, 170, 200, 230])\n",
    "\n",
    "# 模型\n",
    "model = LinearRegression()\n",
    "\n",
    "# 5-fold 交叉验证\n",
    "kf = KFold(n_splits=5, shuffle=True, random_state=42)\n",
    "\n",
    "mse_list = []\n",
    "r2_list = []\n",
    "\n",
    "for train_idx, test_idx in kf.split(x):\n",
    "    x_train, x_test = x[train_idx], x[test_idx]\n",
    "    y_train, y_test = y[train_idx], y[test_idx]\n",
    "    \n",
    "    model.fit(x_train, y_train)\n",
    "    \n",
    "    y_pred = model.predict(x_test)\n",
    "    \n",
    "    mse_list.append(mean_squared_error(y_test, y_pred))\n",
    "    r2_list.append(r2_score(y_test, y_pred))\n",
    "\n",
    "print(\"每个 Fold 的 MSE:\", mse_list)\n",
    "print(\"平均 MSE:\", np.mean(mse_list))\n",
    "print(\"平均 R²:\", np.mean(r2_list))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b39dd277-d83b-48bc-9cbd-d2594def71f9",
   "metadata": {},
   "source": [
    "#### 更简洁的写法 （实际这个用的多）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "c725dac3-37a2-456b-8597-154b606b4750",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "每个 Fold MSE: [25.         10.0969517   1.88800186  0.03024575  5.63056593]\n",
      "平均 MSE: 8.529153047910832\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.metrics import make_scorer, mean_squared_error\n",
    "\n",
    "model = LinearRegression()\n",
    "\n",
    "mse_scores = cross_val_score(\n",
    "    model,\n",
    "    x, y,\n",
    "    cv=5,\n",
    "    scoring='neg_mean_squared_error'  # 注意：返回的是\"负 MSE\"\n",
    ")\n",
    "\n",
    "print(\"每个 Fold MSE:\", -mse_scores)\n",
    "print(\"平均 MSE:\", -mse_scores.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bbb01221-21f8-4c02-acf7-ce8cc098b42e",
   "metadata": {},
   "source": [
    "### 过拟合\n",
    "\n",
    "> **过拟合是指模型在训练数据上表现很好，但在测试数据或新数据上表现很差的现象。**\n",
    "\n",
    "你可以把它想象成学生死记硬背了考试题，在模拟题上全对，但遇到新题就不会做了。\n",
    "\n",
    "**过拟合就是模型学得太“死”，记住了训练数据的细节而不是背后的规律，导致泛化能力差。**\n",
    "\n",
    "## 过拟合的原因\n",
    "\n",
    "1. 模型太复杂\n",
    "  - 比如神经网络层数太多、参数太多\n",
    "2. 训练数据太少\n",
    "  - 模型“记住”了样本而不是学到规律\n",
    "3. 噪声干扰\n",
    "  - 模型学到了训练数据中的噪音或异常值\n",
    "4. 训练时间过长\n",
    "  - 在训练集上“过度学习”"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9b852dcd-2092-499c-ab63-a8c6fa19e472",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
